X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=blobdiff_plain;f=doc%2Fdirplex.doc;h=9d2240d449063bae9a040e2c3ea7f452efc3cc43;hp=e4c3b3ecbc3326d2b8224c7b281948224437588b;hb=fda48525a7bab9e487e69264619ebdbabcd83ff2;hpb=5ba4cb3a4ee0220e7bd1f2480c2b2f831004266d diff --git a/doc/dirplex.doc b/doc/dirplex.doc index e4c3b3e..9d2240d 100644 --- a/doc/dirplex.doc +++ b/doc/dirplex.doc @@ -126,7 +126,7 @@ as part of the word. Empty lines are ignored, and lines whose first character after leading whitespace is a hash character (`#`) are treated as comments and ignored. -The follow configuration directives are recognized: +The following configuration directives are recognized: *include* ['FILENAME'...]:: @@ -189,7 +189,7 @@ The follow configuration directives are recognized: above is aborted as soon as the directory containing the `.htrc` file is encountered. The request is passed, with any remaining rest string, to the specified 'HANDLER', which must - by a named request handler specified either in the same + be a named request handler specified either in the same `.htrc` file or elsewhere. The *capture* directive accepts no follow-up lines. Note that the `X-Ash-File` header is not added to requests passed via *capture* directives. @@ -224,11 +224,13 @@ The following rules are recognized: *pathname* 'PATTERN'...:: - Matches if the entire path (relative as considered from the - root directory being served) of the file under consideration + Matches if the entire path of the file under consideration matches any of the 'PATTERNs'. A 'PATTERN' is an ordinary glob pattern, except that slashes are not matched by wildcards. See - *fnmatch*(3) for more information. + *fnmatch*(3) for more information. If a *pathname* rule is + specified in a `.htrc` file, the path will be examined as + relative to the directory containing the `.htrc` file, rather + than to the root directory being served. *default*:: @@ -261,6 +263,22 @@ following actions are recognized: by a *fchild* stanza. This action exists mostly for convenience. +A *match* stanza may also contain any number of the following, +optional directives: + +*set* 'HEADER' 'VALUE':: + + If the *match* stanza is selected as the match for a file, the + named HTTP 'HEADER' in the request is set to 'VALUE' before + passing the request on to the specified handler. + +*xset* 'HEADER' 'VALUE':: + + *xset* does exactly the same thing as *set*, except that + 'HEADER' is automatically prepended with the `X-Ash-` + prefix. The intention is only to make configuration files + look nicer in this very common case. + 404 RESPONSES ------------- @@ -270,7 +288,7 @@ A HTTP 404 response is sent to the client if * A path element is encountered during mapping which, after URL unescaping, either begins with a dot or contains slashes; * The mapping procedure finds a file which is neither a directory nor - a regular file; + a regular file (or a symbolic link to any of the same); * An empty, non-final path element is encountered during mapping; or * The mapping procedure results in a file which is not matched by any *match* stanza. @@ -291,9 +309,13 @@ EXAMPLES The *sendfile*(1) program can be used to serve HTML files as follows. -------- +fchild send + exec sendfile + match - filename *.html - fork sendfile -c text/html + filename *.html *.htm + xset content-type text/html + handler send -------- Assuming the PHP CGI interpreter is installed on the system, PHP @@ -328,9 +350,9 @@ match directory The following configuration can be placed in a `.htrc` file in order to dedicate the directory containing that file to some external SCGI script engine. Note that *callscgi*, and therefore the script engine -itself, is started in the directory itself, so that arbitrary code -modules or data files can be put directly in that directory and easily -found. +itself, is started in the same directory, so that arbitrary code +modules or data files can be put directly in that directory and be +easily found. -------- child foo