⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manual-index.cgi

📁 Apache V2.0.15 Alpha For Linuxhttpd-2_0_15-alpha.tar.Z
💻 CGI
字号:
#!/usr/local/bin/perl5 -w# ====================================================================# The Apache Software License, Version 1.1## Copyright (c) 2000-2001 The Apache Software Foundation.  All rights# reserved.## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:## 1. Redistributions of source code must retain the above copyright#    notice, this list of conditions and the following disclaimer.## 2. Redistributions in binary form must reproduce the above copyright#    notice, this list of conditions and the following disclaimer in#    the documentation and/or other materials provided with the#    distribution.## 3. The end-user documentation included with the redistribution,#    if any, must include the following acknowledgment:#       "This product includes software developed by the#        Apache Software Foundation (http://www.apache.org/)."#    Alternately, this acknowledgment may appear in the software itself,#    if and wherever such third-party acknowledgments normally appear.## 4. The names "Apache" and "Apache Software Foundation" must#    not be used to endorse or promote products derived from this#    software without prior written permission. For written#    permission, please contact apache@apache.org.## 5. Products derived from this software may not be called "Apache",#    nor may "Apache" appear in their name, without prior written#    permission of the Apache Software Foundation.## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE# DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF# SUCH DAMAGE.# ====================================================================## This software consists of voluntary contributions made by many# individuals on behalf of the Apache Software Foundation.  For more# information on the Apache Software Foundation, please see# <http://www.apache.org/>.## manual-index.cgi script# originally written by Ken Coar <Coar@DECUS.Org> in May 1997## This script either displays a form in order to find documents in which# a word appears, or displays the results of such a search.  It is# called as a CGI script.## [FILE]PATH_INFO is the prefix to add to to the files names found in# the index (URL prefix, not filesystem prefix), and QUERY_STRING is the# word to be found.##***#***# You may need to tweak the following line to point to the correct# location of the index file on your system (it's in the# apache/htdocs/manual directory of the Apache distribution tree).#***#***$INDEX = "/www/apache.org/manual-index-data";#***#***# You shouldn't have to modify anything else.#***#***$HTML = "";## If we have a FILEPATH_INFO or PATH_INFO, it's there to remap the# documents to the manual root directory.  If this script is already in# that directory, this isn't needed.#$prefix = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};$prefix .= "/" if ($prefix && ($prefix !~ m:/$:));## QUERY_STRING, if present, contains the word for which we are to# search.  We also  use its [non]presence to determine wha we display.#$word = $ENV{'QUERY_STRING'};## Make sure our HTTP header makes it to the server by causing Perl to do# a fflush() after every write to STDOUT.#select (STDOUT);$| = 1;printf ("Content-type: text/html\n\n");## Fine, now buffering can go back to normal.#$| = 0;## Set up the HTML page title$title = "Apache Documentation Search";$title .= ": Results for \"$word\"" if ($word);## We'll re-use the HTML scalar several times; we use it with here# documents for multi-line static HTML code.  Lets' do the standard page# header.#$HTML = <<EOHT;<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML> <HEAD>  <TITLE>$title  </TITLE> </HEAD><!-- Background white, links blue (unvisited), navy (visited), red (active) --> <BODY  BGCOLOR="#FFFFFF"  TEXT="#000000"  LINK="#0000FF"  VLINK="#000080"  ALINK="#FF0000" >  <DIV ALIGN="CENTER">   <IMG    SRC="${prefix}images/sub.gif"    ALT=""   >  </DIV>  <H1 ALIGN="CENTER">   Apache Documentation Search  </H1>  <P>  This script performs a very simple search across the Apache  documentation for any single case-insensitive word.  No combinations,  wildcards, regular expressions, word-stubbing, or other fancy options  are supported; this is just to help you find topics quickly.  Only  those pages which include the <EM>exact</EM> word you type will be  listed.  </P>  <P>  Documents containing the search word are <EM>not</EM> listed in any  sort of priority order.  </P>  <ISINDEX PROMPT="Enter word to find and press ENTER: ">EOHTprintf ($HTML);## Now set up the next section, which is only displayed if we've been# given a word to find.#$HTML = <<EOHT;  <HR>  <H2>   Results of Search for <SAMP>$word</SAMP>  </H2>EOHT## We enblock the next section so problems can drop out to the common# closure code.#QUERY:    {	if ($word) {	    #	    # Try and open the index file; complain bitterly if we can't.	    #	    if (! open (INDEX, "<$INDEX")) {		printf ("Can't find documentation index!");		last QUERY;	    }	    #	    # Got it; display the search-results header.	    #	    printf ($HTML);	    #	    # Read the entire index in and turn it into an hash for the	    # lookup.	    #	    @index = <INDEX>;	    close (INDEX);	    chomp (@index);	    foreach (@index) {		($key, $files) = split (/:/, $_);		$Index{$key} = $files;	    }	    #	    # The dictionary is all lowercase words.  Smash our query value	    # and try to find it.	    #	    $word = lc ($word);	    if (! exists ($Index{$word})) {		printf ("  <P>\n  <EM>Sorry, no matches found.</EM>\n  </P>\n");		last QUERY;	    }	    #	    # Found an entry, so turn the hash value (a comma-separated list	    # of relative file names) into an array for display.	    # Incidentally, tell the user how many there are.	    #	    @files = split (/,/, $Index{$word});	    printf ("  <P>Total of %d match", scalar (@files));	    #	    # Be smart about plurals.	    #	    if (scalar (@files) != 1) {		printf ("es") ;	    }	    printf (" found.\n  </P>\n");	    #	    # Right.  Now display the files as they're listed.	    #	    printf ("  <OL>\n");	    foreach (@files) {		printf ("   <LI><A HREF=\"${prefix}$_\">");		printf ("<SAMP>$_</SAMP></A>\n");		printf ("   </LI>\n");	    }	    printf ("  </OL>\n");	    #	    # C'est tout!	    #	}    }## Back to common code - the exit path.  Display the page trailer.#$HTML = <<EOHT;  <A   HREF="/"  ><IMG    SRC="/images/apache_home.gif"    ALT="Home"   ></A>  <HR> </BODY></HTML>EOHTprintf ($HTML);exit (0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -