This is a list of the items which may be placed in an index file to be processed
      by wndex. This file
      consists of a collection of records each of which consists of a
      group of lines pertaining to single file.  Each line of a record begins
      with a directive like "Title=" which indicates that the remainder
      of that line is to be take as the title of the document whose record
      contains this line.  The "File="
      directive is special in that it indicates the beginning of a new record.
      The value of the "File=" directive
      is the name of the file whose record will follow.  Letter case is not
      significant in directive keywords.
    
      When the character '#' is encountered in an index file it is assumed to
      be the start of a comment and everything after it on that line is
      ignored.  To include the '#' character in, for example, a
      document title, it must be escaped with the '\' character.
      That is. when "\#" is encountered it does not signify a
      comment and the character '#' (without the backslash) is
      treated as a normal character.  In fact, since all directives contain the
      character '=', all lines which do not contain this character
      are silently ignored.  Also a single conceptual line of an index file can be spread
      over several actual lines by ending all but the last line with the
      '\' character.  That is, if a line ends with
      '\' that character is removed and the contents of the next
      line is considered a continuation of the current line.  The maximum
      allowed length of a line (including continuation) is 1024 characters.
      The maximum allowed length of all the records corresponding to one
      document is 8192 characters.
    
      The first record in an index file is special and
      is intended to describe attributes of the entire directory rather than
      individual files.  It contains lines with directives specifying
      attributes of the directory as a whole or all the files in it.  The next
      section is a complete list of these directory directives.
    
The line:
          
            Accessfile=/dir/accessfile
          
        
        
          specifies that the file /dir/accessfile is to be used to
          determine access privileges (by hostname or IP address) for this
          directory.  If this line is omitted access is allowed for everyone.
          Both the path /dir/accessfile and the path
          ~/dir/accessfile are taken relative to the WN
          root directory.  In particular the accessfile must be in the
          WN hierarchy (unlike includes or filters, for example.) If
          the path does not begin with a '/' or a '~'
          then it is relative to the directory containing the index file.  See the
          chapter "Limiting Access to Your WN
          Hierarchy" in this guide.
        
Access-denied-URL --
        Set URL for requests for which access is denied.
      The line:
          
            Access-denied-URL=http://host/dir/foo.html
          
        
        or the line:
          
            Access-denied-URL=/dir/foo.html
          
        
        
          specifies that any request for a document in this directory which is
          denied because of an "Accessfile=" restriction should be
          redirected to the given URL.  A default value for all directories can
          be set by uncommenting the "#define ACCESS_DENIED_URL"
          line in config.h and
          recompiling.  If you use this directive be sure that the file
          foo.html does not have restricted access or you can
          create an infinite loop.  This line has the special feature that it
          can also be placed as the first line of the "Accessfile=" controlling the
          directory.  A line in the accessfile will override any value set in
          the index file.
        
Attributes -- Set
        directory attributes.
      
          Currently there are only two directory attributes,
          viz. "nosearch" and "serveall".
          Letter case is not significant in the attribute value.
        
Attributes=serveall
          
              Specifies that any file, with a few exceptions, in this
              directory may be served not just those listed in the index file.  The
              server will attempt to set the content type correctly based on
              the file name suffix using the same default correspondences
              between type and suffix that wndex uses.  The
              exceptions are that files whose name starts with
              '.' or ends with '~' as well as the
              files "index" and "index.cache" will
              not be served.
            
Note: When this directive is used in a directory protected by an "Accessfile=" or a password file be sure that these files have names that start with '.', or contain a '~'. Or better, put these files in a different directory from which nothing is served.
Attributes=nosearch
          
              Specifies that the index.cache databases in the
              current directory and its subdirectories should not be searched
              when the server does a title, keyword or user supplied field search.
              Likewise context and grep searches will not be allowed in
              this directory.  In this case when an attempt is made to do so an
              error message is returned to the client.  It is also possible to
              exclude only some files from searching with the "Attributes=" file directive.
            
Authorization-Module,
        Authorization-Realm,
        Authorization-Type
        -- Specify authorization module.
      
          Currently WN includes a "basic" authorization module called
          wnauth.  Its use
          is described in the chapter "Limiting Access to Your WN
          Hierarchy".  Alternatively you can make your own module to handle
          authorization.  Data is placed in CGI
          environment variables.  WN expects this module to exit
          with status 0 if authorization is granted and with status 1 if access
          is denied.
        
          For security reasons when you use an
          "Authorization-Module=" you are required to use either
          the -t or -T options or the -a or -A options and to have
          the index.cache file in the protected directory owned by
          the trusted user or group.  This is to guard against counterfeit
          authorization modules.
        
Auth-denied-file
        -- Specify the name of an HTML file to be used as the error message
        when an authentication attempt for a password protected directory
        fails.
      The line:
          
            Auth-denied-file=~/dir/foo.html
          
        
        
          specifies that any request for a document in this directory which is
          denied because of an authorization module restriction results in the
          file ~/dir/foo.html being sent instead.  A default value
          for all directories can be set by uncommenting the "#define AUTH_DENIED_FILE"
          line in config.h and
          recompiling.  Note that this is not a URL but the name of a file
          whose content is to be sent as error text when authentication is
          denied.  If the file name starts with '~/' as above it
          is assumed to be relative to the WN root directory.
          Otherwise it is assumed to be a path relative to the directory
          containing the index
          file.
        
Cache-Module --
        Specify program to be used as interface to database for
        index.cache entries.
      
          If this line specifies a program then instead of looking for file
          entries in the index.cache file this program is executed
          after putting the base name of the URL in the environment variable WN_KEY.  This
          provides a mechanism to use a real database rather than the file
          index.cache.  Note that the directory directives are
          still obtained from index.cache.  The output of this
          module must be in the format of an index.cache line.  Title, keyword and grep are not supported since that would
          require reading the entire database.
        
Default-Attributes
        -- Specify the default value of file
        attributes directive for every file served from this directory.
        This directive should not be confused with the directory attributes directive.
      The line:
          
            Default-Attributes=parse,dynamic
          
        
        specifies that files in this directory should be parsed and marked as dynamic documents unless they have an attributes directive specifying the contrary.
Default-CGI-Handler
        -- Specify a default value for the "CGI-Handler=" file directive.
      The line:
          
            Default-CGI-Handler=~/dir/handler.cgi
          
        
        
          specifies that files in this directory should all be treated as if
          the "CGI-Handler=" file
          directive had been set to wnroot/dir/handler.cgi.  To
          override this setting and specify no CGI handler use the
          "CGI-Handler=<none>" directive.
        
Default-Content --
        Specify the default MIME
        content type for items in this directory.
      The line:
          
            Default-content=text/html
          
        
        
          specifies that files in this directory which do not end in a suffix
          recognizable to wndex should be given
          the type "text/html".  Any legitimate MIME
          type may be used as the value.
        
Default-Document
        -- Specify the default document for this directory.
      The line:
          
            Default-Document=foo.html
          
        
        
          specifies that a URL pointing to this directory like
          http://host/dir/ will result in serving the document
          wnroot/dir/foo.html instead of
          wnroot/dir/index.html.  Uses of this include making the
          default document a CGI program with
          "Default-Document=foo.cgi" or having a directory with
          HTML files all ending with the suffix ".htm" and using
          the directive "Default-Document=foo.htm".  This
          directive applies only to the directory containing the index file, not to any
          subdirectories.
        
Default-Filter --
        Specify a default value for the "Filter=" file directive.
      The line:
          
            Default-Filter=/path2/filter
            
        
        
          specifies that files in this directory should all be treated as if
          the "Filter=" file directive
          had been set to /path2/filter.  To override this setting
          and specify no filter use the "Filter=<none>" file
          directive.
        
Default-Includes --
        Specify a default value for the "Includes=" file directive.
      The line:
          
            Default-Includes=footer.html
          
        
        
          specifies that this line should be used as the "Includes=" directive for any
          document in this directory which does not have an "Includes=" directive explicitly set.
          To override this default value simply specify an explicit "Includes=" directive or use "Includes=<none>" to have none.
        
Default-List-Includes
        -- Specify a default value for the "List-Includes=" file directive.
      The line:
          
            Default-List-Includes=header.html,footer.html,disclaimer.html
          
        
        
          specifies that this line should be used as the "List-Includes=" directive for any
          document in this directory which does not have an "Includes=", "Wrappers=", or "List-Includes=" directive
          explicitly set.  To override this default value simply specify an
          explicit "List-Includes=" directive or
          use "List-Includes=<none>" to
          have none.  Note that the example above grants permission for the
          inclusion of the three files listed.  It does not require their
          insertion.  However, it does cause all files in the current directory
          to be parsed for includes unless this "Attributes=" is overridden.
        
Default-Max-Age --
        Specify the default value for the "Max-Age=" file directive.
      The line:
          
            Default-Max-Age=2 weeks
          
        
        specifies the Cache-Control and Expires headers of all documents served from this directory should be set to expire the document 2 weeks after it is served.
The line:
          
            Default-Max-Age=2 weeks after last-mod
          
        
        
          specifies the Cache-Control and Expires headers of all documents
          served from this directory should be set to expire the document 2
          weeks after the last-modified date of the document. For more details
          see the "Max-Age=" file
          directive.
        
Default-Wrappers --
        Specify a default value for the "Wrappers=" file directive.
      The line:
          
            Default-Wrappers=wrapper.html
          
        
        
          specifies that this line should be used as the "Wrappers=" file directive for any
          document in this directory which does not have a
          Wrappers= directive explicitly set.  To override this
          default value simply specify an explicit "Wrappers=" directive or use
          "Wrappers=<none>" to
          have none.
        
File-Module --
        Specify program to be used as interface to database for obtaining
        files.
      
          If this line specifies a program then instead of looking for a file
          in the current directory this program is executed after putting the
          base name of the URL in the environment variable WN_KEY.  The output of
          this program is served as if it were a file. This provides a
          mechanism to use a real database rather than the file
          index.cache.
        
          If you wish the file module to have access to all the standard CGI environment variables then use the
          directive "Default-Attributes=cgi"
          with the File-Module= directive
        
Nomatchsub -- Set
        substitute file for searches on this directory which result in no
        matches.
      The line:
          
            Nomatchsub=foo.html
          
        
        
          specifies that the HTML file foo.html in the current
          directory should be used for the output of all searches (title, keyword, context, grep, etc.) on this directory which
          return no matches.  It can only be used in conjunction with the
          "Searchwrapper=" file
          directive.  If Nomatchsub= is used and a "Searchwrapper=" has not been
          defined an error is logged and the nomatchsub file is ignored.  The
          file foo.html must be in the directory being searched
          and its name must not contain a '/'.  See also "Nomatchsub=" for files.
        
No-Such-File-URL
        -- Set substitute URL for requests for non-existent or unservable
        files.
      The line:
          
            No-Such-File-URL=http://host/dir/foo.html
          
        
        or the line:
          
            No-Such-File-URL=/dir/foo.html
          
        
        
          specifies that any request in this directory for a non-existent file
          or a file not listed in the index file of this
          directory should be redirected to the given URL.  A default value
          for all directories and non-existent directories can be set by
          uncommenting the "#define NO_SUCH_FILE_URL"
          line in config.h
          and recompiling.  The value set here will also be used if an
          index.cache file does not exist.  If you use this
          directive be sure that the file foo.html does
          exist or you can create an infinite loop.
        
Owner -- Specify owner
        of directory items.
      This should be a line like:
          
            Owner=mailto:maintainer@host
          
        
        
          The "mailto:maintainer@host" may be replaced with a URL
          referring to the individual who is responsible for the documents in
          this directory.  This information is used in an HTTP header.  It is
          not possible to designate the owner of a single file in a file
          directive.  However, if the file is an HTML file this can be done
          with a <link> tag
          in the header of that file.
        
Search-Module --
        Specify program to be used as a search engine.
      This directive allows you to create your own search engine. It is invoked with a line like:
          
            Search-Module=/full/path/to/searchmod
          
        
        
          The program searchmod should read the environment
          variable QUERY_STRING
          and return an HTML fragment.  In the typical case the program returns
          an unordered list of links to documents containing a match to the
          query string.  This list can be wrapped by including a "Searchwrapper=" in the
          directory record.  If it is not, a default wrapper with text like
          "Here are the matches for your search." is supplied.
        
          To use this module you should have a form action which is something
          like http://host/dir/search=index.  Two simple examples
          of a search-module (written in perl) are included in the distribution
          in the files bin/wnseven_m and
          bin/wnsectsearch.
        
Searchwrapper --
        Set wrapper file for searches on this directory.
      The line:
          
            Searchwrapper=swrap.html
          
        
        
          specifies that the HTML file swrap.html in the current
          directory should be used as a wrapper for the output of all searches
          on this directory.
        
          To specify a wrapper for searches on an individual file use the file
          directive "Searchwrapper=".
        
Subdirs -- Specify
        subdirectories for searching and recursive use of wndex.
      
          When you run the wndex utility with the
          -r option (for
          recursive), it must know in which subdirectories it should descend
          to create a new index.cache database file.  Likewise
          when the server does a title, keyword or user defined field search it
          recursively descends the data hierarchy and must know for each
          directory which subdirectories are part of the hierarchy.
        
The maintainer provides this information in a line like:
          
            Subdirs=subdir1,subdir2,subdir3
          
        
        
          in the directory directives giving a comma separated list of
          subdirectories of the directory containing the current index file.
        
          There are two special forms of the "Subdirs=" directive.
          Using:
        
          
            Subdirs=<index>
          
        
        
          is equivalent having a "Subdirs=" directive whose value
          is a list of all subdirectories which contain a file named
          "index" (or the name specified with the -i option to wndex).
        
Using:
          
            Subdirs=<all>
          
        
        
          is equivalent having a "Subdirs=" directive whose value
          is a list of all subdirectories.
        
      A collection of lines in the index file containing
      information about a single file in the directory of the index file is called a file
      record.  A new file record begins with a line starting with "File=" and ends with the start of a new file
      record.  Each line in a record begins with a file directive. Here is the
      complete list:
    
Attributes -- Set file
        attributes.
      
          Currently several possible attributes are possible including
          imagemap, nosearch, parse,
          noparse, post, nopost,
          dynamic, nondynamic, cachable,
          non-cachable, put, and cgi.
          Multiple values, separated by commas can be put on a single
          "Attributes=" line, as in
          "Attributes=parse,dynamic,nosearch".  Letter case is not
          significant in the attribute value.  Also "Attribute="
          (without the 's') is synonymous with
          "Attributes=".
        
          See also the directory "Attributes=" directive.
        
Attributes=cachable
          
              causes the server not to send the
              "Pragma: no-cache" and
              "Cache-control: no-cache" headers when it
              otherwise might.  For example these headers are sent by default
              for CGI output.  If you want the browser
              "back" button to return users to a a CGI generated page after
              they have followed a link you may need
              "Attributes=cachable" since otherwise the browser
              may not even cache the page in memory.  (See also "Attributes=non-cachable".)
            
Attributes=cgi
          
              indicates that the standard CGI
              environment variables should be set up before processing this
              request.  This is may be useful if there is a "Filter=" directive for this
              document or if the document has a "Include=" which is the output of
              a program.  In these cases the filter program or include program
              can access the CGI environment variables.  This line is not
              necessary if the document it refers to is actually a CGI program since in that case this attribute
              is automatically set.  If the document is not actually a CGI program then the environment variable PATH_INFO will
              always be empty.  This is because the server always interprets a
              request without a ".cgi" suffix or a
              "cgi-bin" directory in it as the longest possible
              sequence of directories and a terminating file, i.e. a request
              without PATH_INFO.
            
Attributes=dynamic
          
              indicates that the document may change each time it is sent.
              This causes the server not to send headers with a content length
              or a last modified date.  It also will cause the server to ignore
              any "If-Modified-Since" date sent by the client and
              always resend the document.  It is not necessary to set
              Attributes=dynamic for CGI
              programs as it is set by default for them.  If you do not
              wish this done for a CGI program then use
              the directive "Attributes=nondynamic".
            
Attributes=imagemap
          Indicates that the file is an imagemap used to support clickable images.
Attributes=MD5
          
              Indicates that wndex should
              calculate an MD5
              digest or checksum for this file and store it in the
              index.cache file for use as in a
              "Content-MD5" header for this document.  If the
              document is subsequently modified you must re-run wndex to
              recalculate this digest value.  If this is not done and the
              document is newer than the calculated MD5 digest, the server will
              omit the "Content-MD5" header and log an error.
            
Attributes=non-cachable
          
              indicates that the server should send the
              "Pragma: no-cache" and
              "Cache-control: no-cache" headers attempting
              to encourage clients and proxies not to cache this document.  It
              is not necessary to set this for CGI
              programs or any document requiring authentication as it is
              set by default for them.  If you wish to allow the output of a
              CGI program or authenticated document to
              be cached then use the line:
            
              
                Attributes=cachable
              
            
            which will override this default. This may be necessary if you want the browser "back" button to return users to this document after they have followed a link, since otherwise the browser may not even cache the page in memory.
Attributes=nondynamic
          
              overrides the default CGI setting of "dynamic". If this is done
              the "Last-Modified" date header of the document
              will be that of the program.
            
Attributes=noparse
          indicates that the file referenced by this directive should not be parsed for server includes. This is used to override a default attributes setting to parse all documents. Also this might be done to improve efficiency when, for example, a document has a wrapper but nothing is included in it. Since it has a wrapper parsing will be turned on by default, but it is not necessary since nothing is actually included.
Attributes=nopost
          
              indicates that the file referenced by this directive may not be
              accessed with the POST
              method.  If the item referenced is an ordinary file this
              directive is assumed and need not be set.  For CGI programs, if this is set and an attempt
              to POST
              to the object is made by a client an error will be returned.
            
Attributes=nosearch
          indicates that the file referenced by this directive should not be searched when the server does a context or grep search of the current directory.
Attributes=parse
          
              indicates that the file referenced by this directive should be
              parsed for conditional text or server-side includes.  This line
              is not necessary if there is also a "Wrappers=" line or an
              "Includes="
              line since in that case the parse attribute is assumed.  If you
              do not wish a document to be parsed when it otherwise would be
              the "Attribute=noparse" can
              be used.
            
Attributes=post
          
              indicates that the file referenced by this directive may
              only be accessed with the POST
              method.  If the item referenced is a CGI
              program and an attempt is made to access it with the GET
              method an error will be returned.  For ordinary files, if this is
              not set and an attempt to to the object is made by a client an
              error will be returned.  This directive may useful for files
              which are filtered or "include" an executed program.  In that
              case the POSTed data will be in placed in a
              temporary file.  The name of the temporary file can be found by
              using "Attributes=cgi" which will
              cause the name to be placed in the environment variable WN_POST_FILE.
            
Attributes=put
          
              indicates that the file referenced by this directive may be
              accessed with the PUT method.  It must be handled by
              your program.  The PUT data will be in placed in a
              temporary file.  The name of the temporary file can be found by
              using "Attributes=cgi" which will
              cause the name to be placed in the environment variable WN_PUT_FILE.
            
CGI-Handler -- Specify the
        CGI program with which a file is to be
        processed.
      The line:
          
            CGI-Handler=bar.cgi
          
        
        
          causes the program "bar.cgi" to be run and its output
          to be served in place of the document requested.  This is a way to
          designate a CGI program to handle a file
          somewhat like a filter.  The name of the
          program need not be in the URL since it is in the index file.  So when
          http://host/path2/foo.html is requested this will cause
          the handler, say bar.cgi, to be run with the CGI
          environment variable PATH_INFO set to
          /path2/foo.html.  In normal use the program
          bar.cgi will do something to the file
          foo.html and serve the output.  It is useful if you
          want a number of files in a directory to be handled by the same CGI program.  Note the file
          foo.html need not be used in any way by the program,
          but it must exist or else the server will treat it as a non-existent
          file.
        
          If handler name begins with a '/' the name is
          considered as a path relative to the system root directory.  If it
          begins with '~/' as in ~/dir/foo it is
          assumed to be relative to the WN root directory.  Otherwise
          it is assumed to be a path relative to the directory containing the
          index file.
        
Content-encoding --
        Specify the content encoding for a file.
      The line:
          
            Content-encoding=x-gzip
          
        
        
          specifies "x-gzip" as the content encoding for the file
          described by this record.  Only two types of content encoding are
          supported by common browsers.  They are "x-gzip" and
          "x-compress".  They indicate that the file has been
          compressed with the GNU gzip(1)
          utility or the UNIX compress(1)
          utility.  The file is then sent by the server in the compressed
          format and will be decompressed automatically by the browser, if it
          supports this functionality.
        
          In many cases this is unnecessary to specify this explicitly as the
          wndex program will
          automatically assign the the content-encoding x-gzip to
          a file whose name ends with ".gz" and the
          content-encoding x-compress to a file whose name ends in
          ".Z".  Supplying the value "none" for the
          "Content-encoding=" will prevent the server from making
          this automatic assignment.
        
Content-type -- Specify
        the MIME
        content type for a file.
      The line:
          
            Content-type=audio/basic
          
        
        
          specifies "audio/basic" as the MIME
          type for the file described by this record.  In many cases this is
          unnecessary as the wndex program will
          automatically assign the MIME
          type if the file name ends in a suffix listed in the file
          lib/mime.types with a corresponding type.  If this line
          is supplied it will override the default value of the content type
          determined by the suffix.
        
          The mime.types file should be installed in a known
          location.  The default location is in the WN
          src hierarchy, but this can be changed by specifying a
          different value when the configure program is
          run or by editing the value of "#define MIME_TYPES_FILE"
          in config.h.  The
          mime.types file exists so that you can add to it if you
          wish to add new kinds of documents to your server.  The format of the
          file is explained in the file.  A default version of the file is in
          lib/mime.types.  The internal defaults are the same as
          what is currently in this file.  The mime.types file is
          read whenever wndex
          is run so wndex
          always knows the latest additions.  This file is also read by
          wnsd (but not wnd) on startup for use with
          directories with the "Attributes=serveall".
          The wnsd stand-alone server reads this file when it is
          started or restarted, but only takes note of new suffixes and their
          mime types.  You cannot change the mime type
          corresponding to one of the standard suffixes (as listed in the
          default mime.types file).  To do that you need to change
          the server source and recompile.
        
Expires -- Specify the
        expiration date of a document or file.
      The line:
          
            Expires=Mon, 01 Sep 1997 14:11:01 GMT
          
        
        
          specifies date and time which a document expires.  Current practice
          is to use the format specified by RFC
          850 and illustrated above.  In particular, GMT should be used.
          More information about HTTP date formats can be found at RFC
          1123.  For HTML documents the this information is automatically
          extracted from the document by wndex.  This requires a
          "<meta>"
          line in the head of the HTML document like:
        
          
            <meta http-equiv="Expires" content="Tue, 10 Oct 1994 14:11:01 GMT">
          
        
        
          If the "Expires=" directive is also supplied in the index file it will
          override the expiration date in the document. See also the "Max-age=" file directive.
        
Field#n -- Specify a user
        supplied field associated with a file.
      The line:
          
            Field3=string
          
        
        
          specifies "string" user supplied field 3
          associated with the current document.  These are used for field searches.  The digit
          3 can be replaced with any other single digit allowing
          a total of 10 user supplied fields.
        
File -- File name.
      The line:
          
            File=foo
          
        
        
          begins a new file record for the file foo.  It
          indicates that permission is granted for this file to be
          served. Other file directive lines will apply to
          this file until a new file record or text segment is started or the
          end of the index
          file is reached.  The presence of this line causes an entry for this
          file to be written in the index.cache file created by
          wndex.
        
Filter -- Specify the filter
        with which a file is to be postprocessed.
      The line:
          
            Filter=/dir/foo
          
        
        
          causes the contents of the file whose record contains this line to be
          used as the UNIX stdin(3)
          stream of the program foo and the the UNIX stdout(3)
          stream of that program to be sent to the client instead of the file
          itself.  A common use of this is to specify a decompressing program
          like the UNIX zcat(1)
          utility as the filter so that a compressed version of a file can be
          stored on disk and then be decompressed on the fly before being sent
          to the client.  Another example would be
          "Filter=/usr/bin/nroff -man" which would convert a
          UNIX nroff(1)
          utility to convert a man(1)
          page to an ASCII text document on the fly.
        
          If a listed file name begins with a '/' the name is
          considered as a path relative to the system root directory.  If it
          begins with '~/' as in '~/dir/foo' it is
          assumed to be relative to the WN root directory.  Otherwise
          it is assumed to be a path relative to the directory containing the
          index file.
        
Header -- Add a line to the HTTP/1.1 header for this
        document.
      The line:
          
            Header=[some legal HTTP header]
          
        
        
          causes the line "[some legal HTTP header]" to be added
          to the HTTP/1.1 header
          for this item. This directive can be used multiple times to add
          multiple lines to the header.
        
Note: Don't do this unless you know what you are doing!
HTTP-Status -- Return a
        given HTTP/1.1 status
        value.
      The line:
          
            HTTP-Status=404 Not Found
          
        
        
          causes the response line of the HTTP/1.1 header to be
          "HTTP/1.1 404 Not Found".  This is primarily
          of use when redirecting requests for non-existent files to an error
          message which should be returned with status 404 so
          robots understand.
        
Note: Don't do this unless you know what you are doing!
Includes -- Specify the files
        to be included in a text document.
      The line:
          
            Includes=file1,file2,file3
          
        
        
          causes the file whose record contains this line to be parsed for
          lines like "<!-- #include -->".  When
          such a marker is found one of the files listed with the
          "Includes=" file directive is inserted.  Subsequent
          occurrences of the marker cause the inclusion of subsequent files in
          the order in which they occur in this directive.
        
          If a listed file name begins with a '/' the name is
          considered as a path relative to the system root directory.  If it
          begins with '~/' as in "~/dir/foo" it is
          assumed to be relative to the WN root directory.  Otherwise
          it is assumed to be a path relative to the directory containing the
          index file.  See
          the section of the user guide on includes and
          wrappers for more information.
        
Keywords -- Specify the
        keywords associated with a document or file.
      The line:
          
            Keywords=pink, elephant, HTTP
          
        
        
          specifies a list of keywords associated with the current document.
          These are used for keyword
          searches.  For HTML documents the keywords are automatically
          extracted from the document by wndex.  This requires
          a <meta>
          line in the head of the HTML document like:
        
          
            <meta http-equiv="Keywords" content="pink, elephant, HTTP">
          
        
        
          If the "Keywords=" file directive is also supplied in
          the index file it
          will override the keywords in the document.
        
List-Includes -- Specify
        files which may be included in a text document.
      The line:
          
            List-Includes=file1,file2,file3
          
        
        
          causes the file whose record contains this line to be parsed for
          lines like
          '<!-- #include "file2" -->'.  When
          such a marker is found the contents of file2 is
          inserted.  The order of the files listed in the directive is not
          significant. Note that the example above grants permission for the
          inclusion of the three files listed.  It does not require their
          insertion.
        
          If a listed file name begins with a '/' the name is
          considered as a path relative to the system root directory.  If it
          begins with '~/' as in "~/dir/foo" it is
          assumed to be relative to the WN root directory.  Otherwise
          it is assumed to be a path relative to the directory containing the
          index file.  See
          the section of the user guide on includes and
          wrappers for more information.
        
Max-Age -- Specify the HTTP/1.1
        Cache-Control and Expires headers for an
        entry.
      The line:
          
            Max-Age=10 days
          
        
        
          specifies that a HTTP/1.1
          Cache-Control header should be sent to expire the
          document in the specified time.  If no "Expires=" file directive has been set
          elsewhere in the index file or in the
          file itself, if it is an HTML file, then the HTTP/1.1
          Expires header will also be sent with a value equal to
          the current time plus the time period of the HTTP/1.1
          Max-Age header.  The time period in the
          "Max-Age=" file directive can be specified in units of
          seconds, minutes, hours, days or weeks, but more than one unit (as in
          2 weeks and 3 days) is not allowed.
        
The line:
          
            Max-Age=10 days after last-mod
          
        
        
          specifies that a HTTP/1.1
          Cache-Control header and the Expires header
          (if none is set elsewhere) should be set to expire the document in
          the specified amount of time after the last-modified
          date of the document.  Negative time values for the
          Cache-Control header will be ignored, but
          Expires headers with dates in the past will be used.
        
Nomatchsub -- Set
        substitute file for searches on this file which result in no matches.
      The line:
          
            Nomatchsub=foo.html
          
        
        
          specifies that the HTML file foo.html in the current
          directory should be used for the output of all searches on this file which return no matches.
          It can only be used in conjunction with the "Searchwrapper=" file directive.
          See also "Nomatchsub="
          for directories.
        
Redirect -- Send an HTTP/1.1 redirect to a new
        URL.
      The lines:
          
            File=foo
            
            Redirect=http://host/path/bar
          
        
        
          cause a request for foo to be answered with an HTTP/1.1 redirect response.
          The client will then automatically request the new URL.  The file
          foo need not exist.
        
          The redirection always send a HTTP/1.1
          "301 Moved Permanently" status header followed
          by a "Location:" header whose value is
          "http://host/path/bar".  This means that the value of a
          "Redirect=" file directive should always be a complete
          URL, starting with "http://" or "ftp://"
          etc.  The one exception is that you may use
          "Redirect=<null>".  This causes the server to send
          a status 204 "no response" which tells the client to do
          nothing and leave the display alone.  The page won't be reloaded and
          won't change.
        
Refresh -- Set a "Refresh"
        header for use with "client-pull".
      The line:
          
            Refresh=60
          
        
        adds an HTTP/1.1 header at the beginning of the transmission of this document. If the client receiving this header supports "client-pull" (currently only Netscape browsers support this) then it will automatically reload the document after 60 seconds. This is useful for documents that are updated very frequently, a stock ticker, for example. If the directive:
          
            Refresh=30; URL=http://host/path/foo
          
        
        
          is used then after 30 seconds the URL
          http://host/path/foo is loaded.  This can be used to
          create an automatic slide show.  The Refresh header is
          not part of an HTTP/1.1
          standard and hence may evolve.  If it does this directive will be
          subject to change!
        
Searchwrapper -- Set
        wrapper file for searches on this file.
      The line:
          
            Searchwrapper=swrap.html
          
        
        
          specifies that the HTML file swrap.html in the current
          directory should be used as a search wrapper for the output
          of all searches on this file.
        
          To specify a wrapper for all searches on a directory use the
          directory directive "Searchwrapper=".
        
Set-Cookie -- Set a "Cookie"
        header value.
      The lines:
          
            Set-Cookie=name1=opaque1
            
            Set-Cookie=name=xxx; Expires=Thursday, 04-May-95 18:45:39 GMT
          
        
        
          add an HTTP/1.1 header
          at the beginning of the transmission of this document.  If the
          client receiving this header supports cookie caching (currently only
          Netscape
          browsers browsers support this) then it will save the name=value
          pairs and include them in the request headers when documents in the
          same directory or sub-directories are accessed.  The server will put
          the name=value pairs in the CGI environment variable HTTP_COOKIE for
          access by CGI programs.  This is useful for
          "shopping basket" type applications.
        
          Normally the client will discard the cookie at the end of a session.
          However, if an Expires parameter like the one above is
          provided the cookie will be saved between sessions and only
          discarded when it expires.
        
          More information about the proposed HTTP/1.1
          Set-Cookie header is available at http://home.netscape.com/newsref/std/cookie_spec.html.
        
Title -- Specify the title of a
        document or file.
      The line:
          
            Title=This is the title
          
        
        
          specifies the text "This is the title" as the title of
          the file.  If the file is an HTML document this is not necessary as
          wndex will attempt
          to read the title from the document itself.  If this line is
          supplied anyway it will override the title in the document.  If this
          line is not supplied and the file is not an HTML document the
          default title "File <filename>" is used.
        
Wrappers -- Specify the files
        to be included in a text document.
      The line:
          
            Wrappers=file1
          
        
        
          causes "file1" to be parsed for lines like
          "<!-- #include -->".  When such a
          marker is found the file whose record contains this line is inserted
          and the combined document is sent to the client.  It is possible to
          list multiple files in this directive.  The semantics of this are
          explained in the section of the user guide on server-side includes and wrappers.
        
          If a listed file name begins with a '/' the name is
          considered as a path relative to the system root directory.  If it
          begins with '~/' as in "~/dir/foo" it is
          assumed to be relative to the WN root directory.  Otherwise
          it is assumed to be a path relative to the directory containing the
          index file.  See
          the section of the user guide on includes and
          wrappers for more information.