+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>core- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module core</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Core Apache HTTP Server features that are always
-available</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr></table></td></tr></table><h2>Directives</h2><ul><li><a href="#acceptpathinfo">AcceptPathInfo</a></li><li><a href="#accessfilename">AccessFileName</a></li><li><a href="#adddefaultcharset">AddDefaultCharset</a></li><li><a href="#allowoverride">AllowOverride</a></li><li><a href="#authname">AuthName</a></li><li><a href="#authtype">AuthType</a></li><li><a href="#contentdigest">ContentDigest</a></li><li><a href="#defaulttype">DefaultType</a></li><li><a href="#directory">Directory</a></li><li><a href="#directorymatch">DirectoryMatch</a></li><li><a href="#documentroot">DocumentRoot</a></li><li><a href="#enablemmap">EnableMMAP</a></li><li><a href="#errordocument">ErrorDocument</a></li><li><a href="#errorlog">ErrorLog</a></li><li><a href="#fileetag">FileETag</a></li><li><a href="#files">Files</a></li><li><a href="#filesmatch">FilesMatch</a></li><li><a href="#forcetype">ForceType</a></li><li><a href="#hostnamelookups">HostnameLookups</a></li><li><a href="#identitycheck">IdentityCheck</a></li><li><a href="#ifdefine">IfDefine</a></li><li><a href="#ifmodule">IfModule</a></li><li><a href="#include">Include</a></li><li><a href="#keepalive">KeepAlive</a></li><li><a href="#keepalivetimeout">KeepAliveTimeout</a></li><li><a href="#limit">Limit</a></li><li><a href="#limitexcept">LimitExcept</a></li><li><a href="#limitrequestbody">LimitRequestBody</a></li><li><a href="#limitrequestfields">LimitRequestFields</a></li><li><a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li><li><a href="#limitrequestline">LimitRequestLine</a></li><li><a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li><li><a href="#location">Location</a></li><li><a href="#locationmatch">LocationMatch</a></li><li><a href="#loglevel">LogLevel</a></li><li><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li><li><a href="#namevirtualhost">NameVirtualHost</a></li><li><a href="#options">Options</a></li><li><a href="#require">Require</a></li><li><a href="#rlimitcpu">RLimitCPU</a></li><li><a href="#rlimitmem">RLimitMEM</a></li><li><a href="#rlimitnproc">RLimitNPROC</a></li><li><a href="#satisfy">Satisfy</a></li><li><a href="#scriptinterpretersource">ScriptInterpreterSource</a></li><li><a href="#serveradmin">ServerAdmin</a></li><li><a href="#serveralias">ServerAlias</a></li><li><a href="#servername">ServerName</a></li><li><a href="#serverpath">ServerPath</a></li><li><a href="#serverroot">ServerRoot</a></li><li><a href="#serversignature">ServerSignature</a></li><li><a href="#servertokens">ServerTokens</a></li><li><a href="#sethandler">SetHandler</a></li><li><a href="#setinputfilter">SetInputFilter</a></li><li><a href="#setoutputfilter">SetOutputFilter</a></li><li><a href="#timeout">TimeOut</a></li><li><a href="#usecanonicalname">UseCanonicalName</a></li><li><a href="#virtualhost">VirtualHost</a></li></ul><hr/><h2><a name="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls whether requests can contain trailing pathname information</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AcceptPathInfo On|Off|Default</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AcceptPathInfo Default</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in Apache 2.0.30 and later</td></tr></table></td></tr></table>
-
- <p>This directive controls whether requests that contain trailing
- pathname information that follows an actual filename (or
- non-existent file in an existing directory) will be accepted or
- rejected. The trailing pathname information can be made
- available to scripts in the PATH_INFO environment variable.</p>
-
- <p>For example, assume the location <code>/test/</code> points to
- a directory that contains only the single file
- <code>here.html</code>. Then requests for
- <code>/test/here.html/more</code> and
- <code>/test/nothere.html/more</code> both collect
- <code>/more</code> as PATH_INFO.</p>
-
- <p>The three possible arguments for the
- <code class="directive">AcceptPathInfo</code> directive are:</p>
- <dl>
- <dt><code>off</code></dt><dd>A request will only be accepted if it
- maps to a literal path that exists. Therefore a request with
- trailing pathname information after the true filename such as
- <code>/test/here.html/more</code> in the above example will return
- a 404 NOT FOUND error.</dd>
-
- <dt><code>on</code></dt><dd>A request will be accepted if a
- leading path component maps to a file that exists. The above
- example <code>/test/here.html/more</code> will be accepted if
- <code>/test/here.html</code> maps to a valid file.</dd>
-
- <dt><code>default</code></dt><dd>The treatment of requests with
- trailing pathname information is determined by the <a href="../handler.html">handler</a> responsible for the request.
- The core handler for normal files defaults to rejecting PATH_INFO.
- Handlers that serve scripts, such as <a href="mod_cgi.html">cgi-script</a> and <a href="mod_isapi.html">isapi-isa</a>, generally accept PATH_INFO by
- default.</dd>
- </dl>
-
- <p>The primary purpose of the <code>AcceptPathInfo</code>
- directive is to allow you to override the handler's choice of
- accepting or rejecting PATH_INFO. This override is required, for
- example, when you use a <a href="../filter.html">filter</a>, such
- as <a href="mod_include.html">INCLUDES</a>, to generate content
- based on PATH_INFO. The core handler would usually reject the
- request, so you can use the following configuration to enable
- such a script:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Files "mypaths.shtml"><br>
- Options +Includes<br>
- SetOutputFilter INCLUDES<br>
- AcceptPathInfo on<br>
-</Files>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="AccessFileName">AccessFileName</a> <a name="accessfilename">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of the .htaccess file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AccessFileName <em>filename</em> [<em>filename</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AccessFileName .htaccess</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>When returning a document to the client the server looks for
- the first existing access control file from this list of names
- in every directory of the path to the document, if access
- control files are enabled for that directory. For example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-AccessFileName .acl
-</code></td></tr></table></blockquote>
-
- <p>before returning the document
- <code>/usr/local/web/index.html</code>, the server will read
- <code>/.acl</code>, <code>/usr/.acl</code>,
- <code>/usr/local/.acl</code> and <code>/usr/local/web/.acl</code>
- for directives, unless they have been disabled with</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Directory /><br>
- AllowOverride None<br>
-</Directory>
-</code></td></tr></table></blockquote>
-<p><strong>See also </strong></p><ul><li><a href="#allowoverride" class="directive"><code class="directive">AllowOverride</code></a></li><li><a href="../configuring.html">Configuration Files</a></li></ul><hr/><h2><a name="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Specifies the default character set to be added for a
-response without an explicit character set</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddDefaultCharset On|Off|<em>charset</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AddDefaultCharset Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
-
- <p>This directive specifies the name of the character set that
- will be added to any response that does not have any parameter on
- the content type in the HTTP headers. This will override any
- character set specified in the body of the document via a
- <code>META</code> tag. A setting of <code>AddDefaultCharset
- Off</code> disables this
- functionality. <code>AddDefaultCharset On</code> enables
- Apache's internal default charset of <code>iso-8859-1</code> as
- required by the directive. You can also specify an alternate
- <em>charset</em> to be used. For example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddDefaultCharset utf-8
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="AllowOverride">AllowOverride</a> <a name="allowoverride">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the types of directives that are allowed in
-.htaccess files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AllowOverride All|None|<em>directive-type</em> [<em>directive-type</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AllowOverride All</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>When the server finds an .htaccess file (as specified by <a href="#accessfilename" class="directive"><code class="directive">AccessFileName</code></a>) it needs to know
- which directives declared in that file can override earlier
- access information.</p>
-
- <p>When this directive is set to <code>None</code>, then
- .htaccess files are completely ignored. In this case, the
- server will not even attempt to read .htaccess files in the
- filesystem.</p>
-
- <p>When this directive is set to <code>All</code>, then any
- directive which has the .htaccess <a href="directive-dict.html#Context">Context</a> is allowed in
- .htaccess files.</p>
-
- <p>The <em>directive-type</em> can be one of the following
- groupings of directives.</p>
-
- <dl>
- <dt>AuthConfig</dt>
-
- <dd>
-
- Allow use of the authorization directives (<a href="mod_auth_dbm.html#authdbmgroupfile" class="directive"><code class="directive">AuthDBMGroupFile</code></a>,
- <a href="mod_auth_dbm.html#authdbmuserfile" class="directive"><code class="directive">AuthDBMUserFile</code></a>,
- <a href="mod_auth.html#authgroupfile" class="directive"><code class="directive">AuthGroupFile</code></a>,
- <a href="#authname" class="directive"><code class="directive">AuthName</code></a>,
- <a href="#authtype" class="directive"><code class="directive">AuthType</code></a>, <a href="mod_auth.html#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a>, <a href="#require" class="directive"><code class="directive">Require</code></a>, <em>etc.</em>).</dd>
-
- <dt>FileInfo</dt>
-
- <dd>
- Allow use of the directives controlling document types (<a href="#defaulttype" class="directive"><code class="directive">DefaultType</code></a>, <a href="#errordocument" class="directive"><code class="directive">ErrorDocument</code></a>, <a href="#forcetype" class="directive"><code class="directive">ForceType</code></a>, <a href="mod_negotiation.html#languagepriority" class="directive"><code class="directive">LanguagePriority</code></a>,
- <a href="#sethandler" class="directive"><code class="directive">SetHandler</code></a>, <a href="#setinputfilter" class="directive"><code class="directive">SetInputFilter</code></a>, <a href="#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a>, and
- <code><a href="mod_mime.html">mod_mime</a></code> Add* and Remove*
- directives, <em>etc.</em>).</dd>
-
- <dt>Indexes</dt>
-
- <dd>
- Allow use of the directives controlling directory indexing
- (<a href="mod_autoindex.html#adddescription" class="directive"><code class="directive">AddDescription</code></a>,
- <a href="mod_autoindex.html#addicon" class="directive"><code class="directive">AddIcon</code></a>, <a href="mod_autoindex.html#addiconbyencoding" class="directive"><code class="directive">AddIconByEncoding</code></a>,
- <a href="mod_autoindex.html#addiconbytype" class="directive"><code class="directive">AddIconByType</code></a>,
- <a href="mod_autoindex.html#defaulticon" class="directive"><code class="directive">DefaultIcon</code></a>, <a href="mod_dir.html#directoryindex" class="directive"><code class="directive">DirectoryIndex</code></a>, <a href="mod_autoindex.html#fancyindexing" class="directive"><code class="directive">FancyIndexing</code></a>, <a href="mod_autoindex.html#headername" class="directive"><code class="directive">HeaderName</code></a>, <a href="mod_autoindex.html#indexignore" class="directive"><code class="directive">IndexIgnore</code></a>, <a href="mod_autoindex.html#indexoptions" class="directive"><code class="directive">IndexOptions</code></a>, <a href="mod_autoindex.html#readmename" class="directive"><code class="directive">ReadmeName</code></a>,
- <em>etc.</em>).</dd>
-
- <dt>Limit</dt>
-
- <dd>
- Allow use of the directives controlling host access (<a href="mod_access.html#allow" class="directive"><code class="directive">Allow</code></a>, <a href="mod_access.html#deny" class="directive"><code class="directive">Deny</code></a> and <a href="mod_access.html#order" class="directive"><code class="directive">Order</code></a>).</dd>
-
- <dt>Options</dt>
-
- <dd>
- Allow use of the directives controlling specific directory
- features (<a href="#options" class="directive"><code class="directive">Options</code></a> and
- <a href="mod_include.html#xbithack" class="directive"><code class="directive">XBitHack</code></a>).</dd>
- </dl>
-
- <p>Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AllowOverride AuthConfig Indexes</code></td></tr></table></blockquote>
-<p><strong>See also </strong></p><ul><li><a href="#accessfilename" class="directive"><code class="directive">AccessFileName</code></a></li><li><a href="../configuring.html">Configuration Files</a></li></ul><hr/><h2><a name="AuthName">AuthName</a> <a name="authname">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the authorization realm for use in HTTP
-authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthName <em>auth-domain</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive sets the name of the authorization realm for a
- directory. This realm is given to the client so that the user
- knows which username and password to send.
- <code class="directive">AuthName</code> takes a single argument; if the
- realm name contains spaces, it must be enclosed in quotation
- marks. It must be accompanied by <a href="#authtype" class="directive"><code class="directive">AuthType</code></a> and <a href="#require" class="directive"><code class="directive">Require</code></a> directives, and directives such
- as <a href="mod_auth.html#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a> and
- <a href="mod_auth.html#authgroupfile" class="directive"><code class="directive">AuthGroupFile</code></a> to
- work.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AuthName "Top Secret"</code></td></tr></table></blockquote>
-
- <p>The string provided for the <code>AuthRealm</code> is what will
- appear in the password dialog provided by most browsers.</p>
-<p><strong>See also </strong></p><ul><li><a href="../howto/auth.html">Authentication, Authorization, and
- Access Control</a></li></ul><hr/><h2><a name="AuthType">AuthType</a> <a name="authtype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Selects the type of user authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthType Basic|Digest</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive selects the type of user authentication for a
- directory. Only <code>Basic</code> and <code>Digest</code> are
- currently implemented.
-
- It must be accompanied by <a href="#authname" class="directive"><code class="directive">AuthName</code></a> and <a href="#require" class="directive"><code class="directive">Require</code></a> directives, and directives such
- as <a href="mod_auth.html#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a> and
- <a href="mod_auth.html#authgroupfile" class="directive"><code class="directive">AuthGroupFile</code></a> to
- work.</p>
-<p><strong>See also </strong></p><ul><li><a href="../howto/auth.html">Authentication, Authorization,
-and Access Control</a></li></ul><hr/><h2><a name="ContentDigest">ContentDigest</a> <a name="contentdigest">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables the generation of Content-MD5 HTTP Response
-headers</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ContentDigest on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ContentDigest off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in Apache 1.1 and later</td></tr></table></td></tr></table>
- <p>This directive enables the generation of
- <code>Content-MD5</code> headers as defined in RFC1864
- respectively RFC2068.</p>
-
- <p>MD5 is an algorithm for computing a "message digest"
- (sometimes called "fingerprint") of arbitrary-length data, with
- a high degree of confidence that any alterations in the data
- will be reflected in alterations in the message digest.</p>
-
- <p>The <code>Content-MD5</code> header provides an end-to-end
- message integrity check (MIC) of the entity-body. A proxy or
- client may check this header for detecting accidental
- modification of the entity-body in transit. Example header:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
-</code></td></tr></table></blockquote>
-
- <p>Note that this can cause performance problems on your server
- since the message digest is computed on every request (the
- values are not cached).</p>
-
- <p><code>Content-MD5</code> is only sent for documents served
- by the core, and not by any module. For example, SSI documents,
- output from CGI scripts, and byte range responses do not have
- this header.</p>
-<hr/><h2><a name="DefaultType">DefaultType</a> <a name="defaulttype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the MIME content-type that will be sent if the
-server cannot determine a type in any other way</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DefaultType <em>MIME-type</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>DefaultType text/plain</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>There will be times when the server is asked to provide a
- document whose type cannot be determined by its MIME types
- mappings.</p>
-
- <p>The server must inform the client of the content-type of the
- document, so in the event of an unknown type it uses the
- <code>DefaultType</code>. For example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <code>DefaultType image/gif</code>
-</code></td></tr></table></blockquote>
- <p>would be appropriate for a directory which contained many gif
- images with filenames missing the .gif extension.</p>
-
- <p>Note that unlike <a href="#forcetype" class="directive"><code class="directive">ForceType</code></a>, this directive is only
- provides the default mime-type. All other mime-type definitions,
- including filename extensions, that might identify the media type
- will override this default.</p>
-<hr/><h2><a name="Directory"><Directory></a> <a name="directory">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enclose a group of directives that apply only to the
-named file-system directory and sub-directories</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><Directory <em>directory-path</em>>
-... </Directory></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><code class="directive"><Directory></code> and
- <code></Directory></code> are used to enclose a group of
- directives which will apply only to the named directory and
- sub-directories of that directory. Any directive which is allowed
- in a directory context may be used. <em>Directory-path</em> is
- either the full path to a directory, or a wild-card string. In a
- wild-card string, `?' matches any single character, and `*'
- matches any sequences of characters. You may
- also use `[]' character ranges like in the shell. Also as of
- Apache 1.3 none of the wildcards match a `/' character, which more
- closely mimics the behavior of Unix shells. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory /usr/local/httpd/htdocs><br>
- Options Indexes FollowSymLinks<br>
- </Directory><br>
-</code></td></tr></table></blockquote>
-
- <p>Extended regular
- expressions can also be used, with the addition of the
- <code>~</code> character. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory ~ "^/www/.*/[0-9]{3}">
-</code></td></tr></table></blockquote>
- <p>would match directories in /www/ that consisted of three
- numbers.</p>
-
- <p>If multiple (non-regular expression) directory sections
- match the directory (or its parents) containing a document,
- then the directives are applied in the order of shortest match
- first, interspersed with the directives from the <a href="#accessfilename">.htaccess</a> files. For example,
- with</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory /><br>
- AllowOverride None<br>
- </Directory><br>
- <br>
- <Directory /home/*><br>
- AllowOverride FileInfo<br>
- </Directory>
-</code></td></tr></table></blockquote>
- <p>for access to the document <code>/home/web/dir/doc.html</code>
- the steps are:</p>
-
- <ul>
- <li>Apply directive <code>AllowOverride None</code>
- (disabling <code>.htaccess</code> files).</li>
-
- <li>Apply directive <code>AllowOverride FileInfo</code> (for
- directory <code>/home/web</code>).</li>
-
- <li>Apply any FileInfo directives in
- <code>/home/web/.htaccess</code></li>
- </ul>
-
- <p>Regular expressions are not considered until after all of the
- normal sections have been applied. Then all of the regular
- expressions are tested in the order they appeared in the
- configuration file. For example, with</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><Directory ~ abc$><br>
- ... directives here ...<br>
- </Directory><br>
-</code></td></tr></table></blockquote>
-
- <p>The regular expression section won't be considered until after
- all normal <Directory>s and <code>.htaccess</code> files
- have been applied. Then the regular expression will match on
- <code>/home/abc/public_html/abc</code> and be applied.</p>
-
- <p><strong>Note that the default Apache access for
- <Directory /> is <code>Allow from All</code>. This means
- that Apache will serve any file mapped from an URL. It is
- recommended that you change this with a block such
- as</strong></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory /><br>
- Order Deny,Allow<br>
- Deny from All<br>
- </Directory>
-</code></td></tr></table></blockquote>
-
- <p><strong>and then override this for directories you
- <em>want</em> accessible. See the <a href="../misc/security_tips.html">Security Tips</a> page for more
- details.</strong></p>
-
- <p>The directory sections typically occur in
- the access.conf file, but they may appear in any configuration
- file. <code class="directive"><Directory></code> directives
- cannot nest, and cannot appear in a <a href="#limit" class="directive"><code class="directive"><Limit></code></a> or <a href="#limitexcept" class="directive"><code class="directive"><LimitExcept></code></a> section.</p>
-<p><strong>See also </strong></p><ul><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/><h2><a name="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enclose a group of directives that apply only to
-file-system directories that match a regular expression and their
-subdirectories</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><Directory <em>regex</em>>
-... </Directory></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><code class="directive"><DirectoryMatch></code> and
- <code></DirectoryMatch></code> are used to enclose a group
- of directives which will apply only to the named directory and
- sub-directories of that directory, the same as <a href="#directory" class="directive"><code class="directive"><Directory></code></a>. However, it
- takes as an argument a regular expression. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <DirectoryMatch "^/www/.*/[0-9]{3}">
-</code></td></tr></table></blockquote>
-
- <p>would match directories in <code>/www/</code> that consisted of three
- numbers.</p>
-<p><strong>See also </strong></p><ul><li><a href="#directory" class="directive"><code class="directive"><Directory></code></a> for
-a description of how regular expressions are mixed in with normal
-<code><Directory></code>s</li><li><a href="../sections.html">How Directory, Location and Files sections
-work</a> for an explanation of how these different sections are
-combined when a request is received</li></ul><hr/><h2><a name="DocumentRoot">DocumentRoot</a> <a name="documentroot">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the directory that forms the main document tree visible
-from the web</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DocumentRoot <em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive sets the directory from which httpd will
- serve files. Unless matched by a directive like Alias, the
- server appends the path from the requested URL to the document
- root to make the path to the document. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- DocumentRoot /usr/web
-</code></td></tr></table></blockquote>
- <p>then an access to
- <code>http://www.my.host.com/index.html</code> refers to
- <code>/usr/web/index.html</code>.</p>
-
- <p>The <code class="directive">DocumentRoot</code> should be specified without
- a trailing slash.</p>
-<p><strong>See also </strong></p><ul><li><a href="../urlmapping.html">Mapping URLs to Filesystem
-Location</a></li></ul><hr/><h2><a name="EnableMMAP">EnableMMAP</a> <a name="enablemmap">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls whether the httpd uses memory-mapping to read files
-during delivery</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>EnableMMAP on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>EnableMMAP on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive controls whether the httpd may use memory-mapping
- if it needs to read the contents of a file during delivery. By default,
- when the handling of a request requires access to the data within a file--
- for example, when delivering a server-parsed file using <code><a href="mod_include.html">mod_include</a></code>--
- Apache memory-maps the file if the OS supports it.
- </p>
- <p>
- This memory-mapping sometimes yields a performance improvement.
- But in some environments, it is better to disable the memory-mapping
- to prevent operational problems:
- </p>
- <ul>
- <li>On some multiprocessor systems, memory-mapping can reduce the
- performance of the httpd.</li>
- <li>With an NFS-mounted <a href="#documentroot" class="directive"><code class="directive">DocumentRoot</code></a>,
- the httpd may crash due tof a segmentation fault if a file is deleted
- or truncated while the httpd has it memory-mapped.</li>
- </ul>
- <p>
- For server configurations that are vulnerable to these problems,
- you should disable memory-mapping of delivered files by specifying:
- </p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- EnableMMAP off
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="ErrorDocument">ErrorDocument</a> <a name="errordocument">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Specifies what the server will return to the client
-in case of an error</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ErrorDocument <em>error-code document</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Quoting syntax for text messages is different in Apache
-2.0</td></tr></table></td></tr></table>
- <p>In the event of a problem or error, Apache can be configured
- to do one of four things,</p>
-
- <ol>
- <li>output a simple hardcoded error message</li>
-
- <li>output a customized message</li>
-
- <li>redirect to a local <em>URL-path</em> to handle the
- problem/error</li>
-
- <li>redirect to an external <em>URL</em> to handle the
- problem/error</li>
- </ol>
-
- <p>The first option is the default, while options 2-4 are
- configured using the <code class="directive">ErrorDocument</code>
- directive, which is followed by the HTTP response code and a URL
- or a message. Apache will sometimes offer additional information
- regarding the problem/error.</p>
-
- <p>URLs can begin with a slash (/) for local URLs, or be a full
- URL which the client can resolve. Alternatively, a message can
- be provided to be displayed by the browser. Examples:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ErrorDocument 500
- http://foo.example.com/cgi-bin/tester<br>
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br>
- ErrorDocument 401 /subscription_info.html<br>
- ErrorDocument 403 "Sorry can't allow you access
- today"
-</code></td></tr></table></blockquote>
-
- <p>Note that when you specify an <code class="directive">ErrorDocument</code>
- that points to a remote URL (ie. anything with a method such as
- "http" in front of it), Apache will send a redirect to the
- client to tell it where to find the document, even if the
- document ends up being on the same server. This has several
- implications, the most important being that the client will not
- receive the original error status code, but instead will
- receive a redirect status code. This in turn can confuse web
- robots and other clients which try to determine if a URL is
- valid using the status code. In addition, if you use a remote
- URL in an <code>ErrorDocument 401</code>, the client will not
- know to prompt the user for a password since it will not
- receive the 401 status code. Therefore, <strong>if you use an
- "ErrorDocument 401" directive then it must refer to a local
- document.</strong></p>
-
- <p>Prior to version 2.0, messages were indicated by prefixing
- them with a single unmatched double quote character.</p>
-<p><strong>See also </strong></p><ul><li><a href="../custom-error.html">documentation of
- customizable responses</a></li></ul><hr/><h2><a name="ErrorLog">ErrorLog</a> <a name="errorlog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of the file to which the server
-will log errors</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> ErrorLog <em>file-path</em>|syslog[:<em>facility</em>]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ErrorLog logs/error_log (Unix)
-ErrorLog logs/error.log (Windows and OS/2)</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ErrorLog</code> directive sets the name of
- the file to which the server will log any errors it encounters. If
- the <em>file-path</em> does not begin with a slash (/) then it is
- assumed to be relative to the <a href="#serverroot" class="directive"><code class="directive">ServerRoot</code></a>. If the <em>file-path</em>
- begins with a pipe (|) then it is assumed to be a command to spawn
- to handle the error log.</p>
-
- <p>Using <code>syslog</code> instead of a filename enables logging
- via syslogd(8) if the system supports it. The default is to use
- syslog facility <code>local7</code>, but you can override this by
- using the <code>syslog:</code><em>facility</em> syntax where
- <em>facility</em> can be one of the names usually documented in
- syslog(1).</p>
-
- <p>SECURITY: See the <a href="../misc/security_tips.html#serverroot">security tips</a>
- document for details on why your security could be compromised
- if the directory where logfiles are stored is writable by
- anyone other than the user that starts the server.</p>
-<p><strong>See also </strong></p><ul><li><a href="#loglevel" class="directive"><code class="directive">LogLevel</code></a></li><li><a href="../logs.html">Apache Log Files</a></li></ul><hr/><h2><a name="FileETag">FileETag</a> <a name="fileetag">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures the file attributes used to create the ETag
-HTTP response header</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>FileETag <em>component</em> ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>
- The <code class="directive">FileETag</code> directive configures the file
- attributes that are used to create the ETag (entity tag) response
- header field when the document is based on a file. (The ETag
- value is used in cache management to save network bandwidth.) In
- Apache 1.3.22 and earlier, the ETag value was <em>always</em> formed
- from the file's inode, size, and last-modified time (mtime). The
- FileETag directive allows you to choose which of these -- if any
- -- should be used. The recognized keywords are:
- </p>
- <dl>
- <dt><strong>INode</strong></dt>
- <dd>The file's i-node number will be included in the calculation</dd>
- <dt><strong>MTime</strong></dt>
- <dd>The date and time the file was last modified will be included</dd>
- <dt><strong>Size</strong></dt>
- <dd>The number of bytes in the file will be included</dd>
- <dt><strong>All</strong></dt>
- <dd>All available fields will be used (equivalent to
- '<code>FileETag INode MTime Size</code>')</dd>
- <dt><strong>None</strong></dt>
- <dd>If a document is file-based, no ETag field will be included in the
- response</dd>
- </dl>
- <p>
- The INode, MTime, and Size keywords may be prefixed with either '+'
- or '-', which allow changes to be made to the default setting
- inherited from a broader scope. Any keyword appearing without
- such a prefix immediately and completely cancels the inherited
- setting.
- </p>
- <p>
- If a directory's configuration includes
- '<code>FileETag INode MTime Size</code>', and a
- subdirectory's includes '<code>FileETag -INode</code>',
- the setting for that subdirectory (which will be inherited by
- any sub-subdirectories that don't override it) will be equivalent to
- '<code>FileETag MTime Size</code>'.
- </p>
-<hr/><h2><a name="Files"><Files></a> <a name="files">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Contains that directives that apply to matched
-filenames</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><Files <em>filename</em>> ... </Files></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive"><Files></code> directive
- provides for access control by filename. It is comparable to the
- <a href="#directory" class="directive"><code class="directive">Directory</code></a>
- directive and <a href="#location" class="directive"><code class="directive">Location</code></a> directives. It should be
- matched with a <code></Files></code> directive. The
- directives given within this section will be applied to any object
- with a basename (last component of filename) matching the
- specified filename. <code class="directive"><Files></code>
- sections are processed in the order they appear in the
- configuration file, after the <a href="#directory" class="directive"><code class="directive"><Directory></code></a> sections and
- <code>.htaccess</code> files are read, but before <a href="#location" class="directive"><code class="directive"><Location></code></a> sections. Note
- that <code class="directive"><Files></code> can be nested
- inside <a href="#directory" class="directive"><code class="directive"><Directory></code></a> sections to restrict the
- portion of the filesystem they apply to.</p>
-
- <p>The <em>filename</em> argument should include a filename, or
- a wild-card string, where `?' matches any single character, and
- `*' matches any sequences of characters. Extended regular
- expressions can also be used, with the addition of the
- <code>~</code> character. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Files ~ "\.(gif|jpe?g|png)$">
-</code></td></tr></table></blockquote>
- <p>would match most common Internet graphics formats. In Apache 1.3
- and later, <a href="#filesmatch" class="directive"><code class="directive"><FilesMatch></code></a> is preferred, however.</p>
-
- <p>Note that unlike <a href="#directory" class="directive"><code class="directive"><Directory></code></a> and <a href="#location" class="directive"><code class="directive"><Location></code></a> sections, <code class="directive"><Files></code> sections can be used inside
- .htaccess files. This allows users to control access to their own
- files, at a file-by-file level.</p>
-
-<p><strong>See also </strong></p><ul><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/><h2><a name="FilesMatch"><FilesMatch></a> <a name="filesmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Contains that directives that apply to regular-expression matched
-filenames</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><FilesMatch <em>regex</em>> ... </FilesMatch></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive"><FilesMatch></code> directive
- provides for access control by filename, just as the <a href="#files" class="directive"><code class="directive"><Files></code></a> directive
- does. However, it accepts a regular expression. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <FilesMatch "\.(gif|jpe?g|png)$">
-</code></td></tr></table></blockquote>
-
- <p>would match most common Internet graphics formats.</p>
-<p><strong>See also </strong></p><ul><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/><h2><a name="ForceType">ForceType</a> <a name="forcetype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Forces all matching files to be served with the specified
-MIME content-type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ForceType <em>mime-type</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Moved to the core in Apache 2.0</td></tr></table></td></tr></table>
- <p>When placed into an <code>.htaccess</code> file or a
- <a href="#directory" class="directive"><code class="directive"><Directory></code></a>, or
- <a href="#location" class="directive"><code class="directive"><Location></code></a> or
- <a href="#files" class="directive"><code class="directive"><Files></code></a>
- section, this directive forces all matching files to be served
- with the content type identification given by
- <em>mime-type</em>. For example, if you had a directory full of
- GIF files, but did not want to label them all with ".gif", you
- might want to use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ForceType image/gif
-</code></td></tr></table></blockquote>
-
- <p>Note that unlike <a href="#defaulttype" class="directive"><code class="directive">DefaultType</code></a>,
- this directive overrides all mime-type associations, including
- filename extensions, that might identify the media type.</p>
-<hr/><h2><a name="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables DNS lookups on client IP addresses</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>HostnameLookups on|off|double</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>HostnameLookups off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive enables DNS lookups so that host names can be
- logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>).
- The value <code>double</code> refers to doing double-reverse
- DNS. That is, after a reverse lookup is performed, a forward
- lookup is then performed on that result. At least one of the ip
- addresses in the forward lookup must match the original
- address. (In "tcpwrappers" terminology this is called
- <code>PARANOID</code>.)</p>
-
- <p>Regardless of the setting, when <code><a href="mod_access.html">mod_access</a></code> is
- used for controlling access by hostname, a double reverse lookup
- will be performed. This is necessary for security. Note that the
- result of this double-reverse isn't generally available unless you
- set <code>HostnameLookups double</code>. For example, if only
- <code>HostnameLookups on</code> and a request is made to an object
- that is protected by hostname restrictions, regardless of whether
- the double-reverse fails or not, CGIs will still be passed the
- single-reverse result in <code>REMOTE_HOST</code>.</p>
-
- <p>The default is off in order to save the network
- traffic for those sites that don't truly need the reverse
- lookups done. It is also better for the end users because they
- don't have to suffer the extra latency that a lookup entails.
- Heavily loaded sites should leave this directive
- <code>off</code>, since DNS lookups can take considerable
- amounts of time. The utility <a href="../programs/logresolve.html">logresolve</a>, provided in
- the <em>/support</em> directory, can be used to look up host
- names from logged IP addresses offline.</p>
-<hr/><h2><a name="IdentityCheck">IdentityCheck</a> <a name="identitycheck">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables logging of the RFC1413 identity of the remote
-user</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>IdentityCheck on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>IdentityCheck off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive enables RFC1413-compliant logging of the
- remote user name for each connection, where the client machine
- runs identd or something similar. This information is logged in
- the access log.</p>
-
- <p>The information should not be trusted in any way except for
- rudimentary usage tracking.</p>
-
- <p>Note that this can cause serious latency problems accessing
- your server since every request requires one of these lookups
- to be performed. When firewalls are involved each lookup might
- possibly fail and add 30 seconds of latency to each hit. So in
- general this is not very useful on public servers accessible
- from the Internet.</p>
-<hr/><h2><a name="IfDefine"><IfDefine></a> <a name="ifdefine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Encloses directives that will be processed only
-if a test is true at startup</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><IfDefine [!]<em>parameter-name</em>> <em>...</em>
- </IfDefine></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code><IfDefine
- <em>test</em>>...</IfDefine></code> section is used to
- mark directives that are conditional. The directives within an
- <code class="directive"><IfDefine></code> section are only
- processed if the <em>test</em> is true. If <em>test</em> is false,
- everything between the start and end markers is ignored.</p>
-
- <p>The <em>test</em> in the <code class="directive"><IfDefine></code> section directive can be one
- of two forms:</p>
-
- <ul>
- <li><em>parameter-name</em></li>
-
- <li><code>!</code><em>parameter-name</em></li>
- </ul>
-
- <p>In the former case, the directives between the start and end
- markers are only processed if the parameter named
- <em>parameter-name</em> is defined. The second format reverses
- the test, and only processes the directives if
- <em>parameter-name</em> is <strong>not</strong> defined.</p>
-
- <p>The <em>parameter-name</em> argument is a define as given on
- the <code>httpd</code> command line via
- <code>-D</code><em>parameter-</em>, at the time the server was
- started.</p>
-
- <p><code class="directive"><IfDefine></code> sections are
- nest-able, which can be used to implement simple
- multiple-parameter tests. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><pre>
- $ httpd -DReverseProxy ...
-
- # httpd.conf
- <IfDefine ReverseProxy>
- LoadModule rewrite_module modules/mod_rewrite.so
- LoadModule proxy_module modules/libproxy.so
- </IfDefine>
-</pre></code></td></tr></table></blockquote>
-
-<hr/><h2><a name="IfModule"><IfModule></a> <a name="ifmodule">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Encloses directives that are processed conditional on the
-presence of absence of a specific module</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><IfModule [!]<em>module-name</em>> <em>...</em>
- </IfModule></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code><IfModule
- <em>test</em>>...</IfModule></code> section is used to
- mark directives that are conditional. The directives within an
- <code class="directive"><IfModule></code> section are only
- processed if the <em>test</em> is true. If <em>test</em> is false,
- everything between the start and end markers is ignored.</p>
-
- <p>The <em>test</em> in the <code class="directive"><IfModule></code> section directive can be one
- of two forms:</p>
-
- <ul>
- <li><em>module name</em></li>
-
- <li>!<em>module name</em></li>
- </ul>
-
- <p>In the former case, the directives between the start and end
- markers are only processed if the module named <em>module
- name</em> is included in Apache -- either compiled in or
- dynamically loaded using <a href="mod_so.html#loadmodule" class="directive"><code class="directive">LoadModule</code></a>. The second format
- reverses the test, and only processes the directives if <em>module
- name</em> is <strong>not</strong> included.</p>
-
- <p>The <em>module name</em> argument is the file name of the
- module, at the time it was compiled.
- For example, <code>mod_rewrite.c</code>.</p>
-
- <p><code class="directive"><IfModule></code> sections are
- nest-able, which can be used to implement simple multiple-module
- tests.</p>
-<hr/><h2><a name="Include">Include</a> <a name="include">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Includes other configuration files from within
-the server configuration files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Include <em>file-path</em>|<em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive allows inclusion of other configuration files
- from within the server configuration files.</p>
-
- <p>If <code class="directive">Include</code> points to a directory, rather than a
- file, Apache will read all files in that directory, and any
- subdirectory, and parse those as configuration files.</p>
-
- <p>The file path specified may be a fully qualified path (i.e.
- starting with a slash), or may be relative to the
- <a href="#serverroot" class="directive"><code class="directive">ServerRoot</code></a> directory.</p>
-
- <p>Examples:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Include /usr/local/apache/conf/ssl.conf<br>
- Include /usr/local/apache/conf/vhosts/
-</code></td></tr></table></blockquote>
-
- <p>Or, providing paths relative to your <code>ServerRoot</code>
- directory:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Include conf/ssl.conf<br>
- Include conf/vhosts/
-</code></td></tr></table></blockquote>
-
- <p>Make sure that an included directory does not contain any stray
- files, such as editor temporary files, for example, as Apache will
- attempt to read them in and use the contents as configuration
- directives, which may cause the server to fail on start up.
- Running <code>apachectl configtest</code> will give you a list of
- the files that are being processed during the configuration
- check:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><pre>
- root@host# apachectl configtest
- Processing config directory: /usr/local/apache/conf/vhosts
- Processing config file: /usr/local/apache/conf/vhosts/vhost1
- Processing config file: /usr/local/apache/conf/vhosts/vhost2
- Syntax OK
-</pre></code></td></tr></table></blockquote>
-
- <p>This will help in verifying that you are getting only the files
- that you intended as part of your configuration.</p>
-<p><strong>See also </strong></p><ul><li><a href="../programs/apachectl.html">apachectl</a></li></ul><hr/><h2><a name="KeepAlive">KeepAlive</a> <a name="keepalive">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Turns on or off HTTP persistent connections.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>KeepAlive on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>KeepAlive On</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The Keep-Alive extension to HTTP/1.0 and the persistent
- connection feature of HTTP/1.1 provide long-lived HTTP sessions
- which allow multiple requests to be sent over the same TCP
- connection. In some cases this has been shown to result in an
- almost 50% speedup in latency times for HTML documents with
- many images. To enable Keep-Alive connections in Apache 1.2 and
- later, set <code>KeepAlive On</code>.</p>
-
- <p>For HTTP/1.0 clients, Keep-Alive connections will only be
- used if they are specifically requested by a client. In
- addition, a Keep-Alive connection with an HTTP/1.0 client can
- only be used when the length of the content is known in
- advance. This implies that dynamic content such as CGI output,
- SSI pages, and server-generated directory listings will
- generally not use Keep-Alive connections to HTTP/1.0 clients.
- For HTTP/1.1 clients, persistent connections are the default
- unless otherwise specified. If the client requests it, chunked
- encoding will be used in order to send content of unknown
- length over persistent connections.</p>
-<p><strong>See also </strong></p><ul><li><a href="#maxkeepaliverequests" class="directive"><code class="directive">MaxKeepAliveRequests</code></a></li></ul><hr/><h2><a name="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the amount of time the server will wait for subsequent
-requests on a persistent connection</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>KeepAliveTimeout <em>seconds</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>KeepAliveTimeout 15</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The number of seconds Apache will wait for a subsequent
- request before closing the connection. Once a request has been
- received, the timeout value specified by the
- <a href="#timeout" class="directive"><code class="directive">Timeout</code></a> directive applies.</p>
-
- <p>Setting <code class="directive">KeepAliveTimeout</code> to a high value
- may cause performance problems in heavily loaded servers. The
- higher the timeout, the more server processes will be kept
- occupied waiting on connections with idle clients.</p>
-<hr/><h2><a name="Limit"><Limit></a> <a name="limit">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Restrict access controls to only certain HTTP
-methods</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><Limit <em>method</em> [<em>method</em>] ... > ...
- </Limit></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>Access controls are normally effective for
- <strong>all</strong> access methods, and this is the usual
- desired behavior. <strong>In the general case, access control
- directives should not be placed within a
- <code class="directive"><limit></code> section.</strong></p>
-
- <p>The purpose of the <code class="directive"><Limit></code>
- directive is to restrict the effect of the access controls to the
- nominated HTTP methods. For all other methods, the access
- restrictions that are enclosed in the <code><Limit></code>
- bracket <strong>will have no effect</strong>. The following
- example applies the access control only to the methods POST, PUT,
- and DELETE, leaving all other methods unprotected:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <code><Limit POST PUT DELETE><br>
- Require valid-user<br>
- </Limit></code>
-</code></td></tr></table></blockquote>
- <p>The method names listed can be one or more of: GET, POST, PUT,
- DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH,
- MKCOL, COPY, MOVE, LOCK, and UNLOCK. <strong>The method name is
- case-sensitive.</strong> If GET is used it will also restrict
- HEAD requests.</p>
-<hr/><h2><a name="LimitExcept"><LimitExcept></a> <a name="limitexcept">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Restrict access controls to all HTTP methods
-except the named ones</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><LimitExcept <em>method</em> [<em>method</em>] ... > ...
- </LimitExcept></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><code class="directive"><LimitExcept></code> and
- <code></LimitExcept></code> are used to enclose
- a group of access control directives which will then apply to any
- HTTP access method <strong>not</strong> listed in the arguments;
- i.e., it is the opposite of a <a href="#limit" class="directive"><code class="directive"><Limit></code></a> section and can be used to control
- both standard and nonstandard/unrecognized methods. See the
- documentation for <a href="#limit" class="directive"><code class="directive"><Limit></code></a> for more details.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <LimitExcept POST GET><br>
- Require valid-user<br>
- <LimitExcept>
- </code></td></tr></table></blockquote>
-
-<hr/><h2><a name="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Restricts the total size of the HTTP request body sent
-from the client</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LimitRequestBody <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LimitRequestBody 0</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive specifies the number of <em>bytes</em> from 0
- (meaning unlimited) to 2147483647 (2GB) that are allowed in a
- request body. The default value is defined by the compile-time
- constant <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 as
- distributed).</p>
-
- <p>The <code class="directive">LimitRequestBody</code> directive allows
- the user to set a limit on the allowed size of an HTTP request
- message body within the context in which the directive is given
- (server, per-directory, per-file or per-location). If the client
- request exceeds that limit, the server will return an error
- response instead of servicing the request. The size of a normal
- request message body will vary greatly depending on the nature of
- the resource and the methods allowed on that resource. CGI scripts
- typically use the message body for passing form information to the
- server. Implementations of the PUT method will require a value at
- least as large as any representation that the server wishes to
- accept for that resource.</p>
-
- <p>This directive gives the server administrator greater
- control over abnormal client request behavior, which may be
- useful for avoiding some forms of denial-of-service
- attacks.</p>
-
- <p>If, for example, you are permitting file upload to a particular
- location, and wich to limit the size of the uploaded file to 100K,
- you might use the following directive:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LimitRequestBody 102400
- </code></td></tr></table></blockquote>
-
-<hr/><h2><a name="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the number of HTTP request header fields that
-will be accepted from the client</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LimitRequestFields <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LimitRequestFields 100</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><em>Number</em> is an integer from 0 (meaning unlimited) to
- 32767. The default value is defined by the compile-time
- constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as
- distributed).</p>
-
- <p>The <code class="directive">LimitRequestFields</code> directive allows
- the server administrator to modify the limit on the number of
- request header fields allowed in an HTTP request. A server needs
- this value to be larger than the number of fields that a normal
- client request might include. The number of request header fields
- used by a client rarely exceeds 20, but this may vary among
- different client implementations, often depending upon the extent
- to which a user has configured their browser to support detailed
- content negotiation. Optional HTTP extensions are often expressed
- using request header fields.</p>
-
- <p>This directive gives the server administrator greater
- control over abnormal client request behavior, which may be
- useful for avoiding some forms of denial-of-service attacks.
- The value should be increased if normal clients see an error
- response from the server that indicates too many fields were
- sent in the request.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LimitRequestFields 50
- </code></td></tr></table></blockquote>
-
-<hr/><h2><a name="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the size of the HTTP request header allowed from the
-client</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LimitRequestFieldsize <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LimitRequestFieldsize 8190</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive specifies the number of <em>bytes</em> from 0
- to the value of the compile-time constant
- <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 as
- distributed) that will be allowed in an HTTP request
- header.</p>
-
- <p>The <code class="directive">LimitRequestFieldsize</code> directive
- allows the server administrator to reduce the limit on the allowed
- size of an HTTP request header field below the normal input buffer
- size compiled with the server. A server needs this value to be
- large enough to hold any one header field from a normal client
- request. The size of a normal request header field will vary
- greatly among different client implementations, often depending
- upon the extent to which a user has configured their browser to
- support detailed content negotiation.</p>
-
- <p>This directive gives the server administrator greater
- control over abnormal client request behavior, which may be
- useful for avoiding some forms of denial-of-service attacks.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LimitRequestFieldSize 16380
- </code></td></tr></table></blockquote>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">Under normal conditions, the value should not be changed from
- the default.</td></tr></table></blockquote>
-
-<hr/><h2><a name="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limit the size of the HTTP request line that will be accepted
-from the client</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LimitRequestLine <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LimitRequestLine 8190</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive sets the number of <em>bytes</em> from 0 to
- the value of the compile-time constant
- <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 as distributed)
- that will be allowed on the HTTP request-line.</p>
-
- <p>The <code class="directive">LimitRequestLine</code> directive allows
- the server administrator to reduce the limit on the allowed size
- of a client's HTTP request-line below the normal input buffer size
- compiled with the server. Since the request-line consists of the
- HTTP method, URI, and protocol version, the
- <code class="directive">LimitRequestLine</code> directive places a
- restriction on the length of a request-URI allowed for a request
- on the server. A server needs this value to be large enough to
- hold any of its resource names, including any information that
- might be passed in the query part of a GET request.</p>
-
- <p>This directive gives the server administrator greater
- control over abnormal client request behavior, which may be
- useful for avoiding some forms of denial-of-service attacks.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LimitRequestLine 16380
- </code></td></tr></table></blockquote>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">Under normal conditions, the value should not be changed from
- the default.</td></tr></table></blockquote>
-<hr/><h2><a name="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the size of an XML-based request body</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LimitXMLRequestBody <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LimitXMLRequestBody 1000000</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>Limit (in bytes) on maximum size of an XML-based request
- body. A value of <code>0</code> will disable any checking.</p>
-
- <p>Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LimitXMLRequestBody 0
- </code></td></tr></table></blockquote>
-
-<hr/><h2><a name="Location"><Location></a> <a name="location">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Applies the enclosed directives only to matching
-URLs</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><Location
- URL-path|URL> ... </Location></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive"><Location></code> directive
- provides for access control by URL. It is similar to the
- <a href="#directory" class="directive"><code class="directive"><Directory></code></a>
- directive, and starts a subsection which is terminated with a
- <code></Location></code> directive. <code class="directive"><Location></code> sections are processed in the
- order they appear in the configuration file, after the <a href="#directory" class="directive"><code class="directive"><Directory></code></a> sections and
- <code>.htaccess</code> files are read, and after the <a href="#files" class="directive"><code class="directive"><Files></code></a> sections.</p>
-
- <p>Note that URLs do not have to line up with the filesystem at
- all, it should be emphasized that <Location> operates
- completely outside the filesystem.</p>
-
- <p>For all origin (non-proxy) requests, the URL to be matched is a
- URL-path of the form <code>/path/</code>. No scheme, hostname,
- port, or query string may be included. For proxy requests, the
- URL to be matched is of the form
- <code>scheme://servername/path</code>, and you must include the
- prefix.</p>
-
- <p>The URL may use wildcards In a wild-card string, `?' matches
- any single character, and `*' matches any sequences of
- characters.</p>
-
- <p>Extended regular
- expressions can also be used, with the addition of the
- <code>~</code> character. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location ~ "/(extra|special)/data">
-</code></td></tr></table></blockquote>
-
- <p>would match URLs that contained the substring "/extra/data" or
- "/special/data". In Apache 1.3 and above, a new directive
- <a href="#locationmatch" class="directive"><code class="directive"><LocationMatch></code></a>
- exists which behaves identical to the regex version of
- <code class="directive"><Location></code>.</p>
-
- <p>The <code class="directive"><Location></code>
- functionality is especially useful when combined with the
- <a href="#sethandler" class="directive"><code class="directive">SetHandler</code></a>
- directive. For example, to enable status requests, but allow them
- only from browsers at foo.com, you might use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location /status><br>
- SetHandler server-status<br>
- Order Deny,Allow<br>
- Deny from all<br>
- Allow from .foo.com<br>
- </Location>
-</code></td></tr></table></blockquote>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note about / (slash)</strong></p> <p>The slash character has
-special meaning depending on where in a URL it appears. People may be
-used to its behavior in the filesystem where multiple adjacent slashes
-are frequently collapsed to a single slash (<em>i.e.</em>,
-<code>/home///foo</code> is the same as <code>/home/foo</code>). In
-URL-space this is not necessarily true. The <a href="#locationmatch" class="directive"><code class="directive"><LocationMatch></code></a> directive and the regex
-version of <code class="directive"><Location></code> require you
-to explicitly specify multiple slashes if that is your intention. For
-example, <code><LocationMatch ^/abc></code> would match the
-request URL <code>/abc</code> but not the request URL
-<code>//abc</code>. The (non-regex) <code class="directive"><Location></code> directive behaves similarly when
-used for proxy requests. But when (non-regex) <code class="directive"><Location></code> is used for non-proxy requests it
-will implicitly match multiple slashes with a single slash. For
-example, if you specify <code><Location /abc/def></code> and the
-request is to <code>/abc//def</code> then it will match.</p>
-</td></tr></table></blockquote>
-<p><strong>See also </strong></p><ul><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/><h2><a name="LocationMatch"><LocationMatch></a> <a name="locationmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Applies the enclosed directives only to regular-expression
-matching URLs</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><LocationMatch
- <em>regex</em>> ... </Location></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive"><LocationMatch></code> directive
- provides for access control by URL, in an identical manner to
- <a href="#location" class="directive"><code class="directive"><Location></code></a>. However, it takes a regular
- expression as an argument instead of a simple string. For
- example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <LocationMatch "/(extra|special)/data">
-</code></td></tr></table></blockquote>
-
- <p>would match URLs that contained the substring "/extra/data"
- or "/special/data".</p>
-<p><strong>See also </strong></p><ul><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/><h2><a name="LogLevel">LogLevel</a> <a name="loglevel">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls the verbosity of the ErrorLog</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LogLevel <em>level</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LogLevel warn</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><code class="directive">LogLevel</code> adjusts the verbosity of the
- messages recorded in the error logs (see <a href="#errorlog" class="directive"><code class="directive">ErrorLog</code></a> directive). The following
- <em>level</em>s are available, in order of decreasing
- significance:</p>
-
- <table border="1">
- <tr>
- <th><strong>Level</strong> </th>
-
- <th><strong>Description</strong> </th>
-
- <th><strong>Example</strong> </th>
- </tr>
-
- <tr>
- <td><code>emerg</code> </td>
-
- <td>Emergencies - system is unusable.</td>
-
- <td>"Child cannot open lock file. Exiting"</td>
- </tr>
-
- <tr>
- <td><code>alert</code> </td>
-
- <td>Action must be taken immediately.</td>
-
- <td>"getpwuid: couldn't determine user name from uid"</td>
- </tr>
-
- <tr>
- <td><code>crit</code> </td>
-
- <td>Critical Conditions.</td>
-
- <td>"socket: Failed to get a socket, exiting child"</td>
- </tr>
-
- <tr>
- <td><code>error</code> </td>
-
- <td>Error conditions.</td>
-
- <td>"Premature end of script headers"</td>
- </tr>
-
- <tr>
- <td><code>warn</code> </td>
-
- <td>Warning conditions.</td>
-
- <td>"child process 1234 did not exit, sending another
- SIGHUP"</td>
- </tr>
-
- <tr>
- <td><code>notice</code> </td>
-
- <td>Normal but significant condition.</td>
-
- <td>"httpd: caught SIGBUS, attempting to dump core in
- ..."</td>
- </tr>
-
- <tr>
- <td><code>info</code> </td>
-
- <td>Informational.</td>
-
- <td>"Server seems busy, (you may need to increase
- StartServers, or Min/MaxSpareServers)..."</td>
- </tr>
-
- <tr>
- <td><code>debug</code> </td>
-
- <td>Debug-level messages</td>
-
- <td>"Opening config file ..."</td>
- </tr>
- </table>
-
- <p>When a particular level is specified, messages from all
- other levels of higher significance will be reported as well.
- <em>E.g.</em>, when <code>LogLevel info</code> is specified,
- then messages with log levels of <code>notice</code> and
- <code>warn</code> will also be posted.</p>
-
- <p>Using a level of at least <code>crit</code> is
- recommended.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>LogLevel notice</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the number of requests allowed on a persistent
-connection</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxKeepAliveRequests <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxKeepAliveRequests 100</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">MaxKeepAliveRequests</code> directive
- limits the number of requests allowed per connection when
- <a href="#keepalive" class="directive"><code class="directive">KeepAlive</code></a> is on. If it is
- set to "<code>0</code>", unlimited requests will be allowed. We
- recommend that this setting be kept to a high value for maximum
- server performance.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>MaxKeepAliveRequests 500</code></td></tr></table></blockquote>
-<hr/><h2><a name="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures an IP address for name-virtual
-hosting</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>NameVirtualHost <em>addr</em>[:<em>port</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">NameVirtualHost</code> directive is a
- required directive if you want to configure <a href="../vhosts/">name-based virtual hosts</a>.</p>
-
- <p>Although <em>addr</em> can be hostname it is recommended
- that you always use an IP address, <em>e.g.</em></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>NameVirtualHost 111.22.33.44</code></td></tr></table></blockquote>
-
- <p>With the <code class="directive">NameVirtualHost</code> directive you
- specify the IP address on which the server will receive requests
- for the name-based virtual hosts. This will usually be the address
- to which your name-based virtual host names resolve. In cases
- where a firewall or other proxy receives the requests and forwards
- them on a different IP address to the server, you must specify the
- IP address of the physical interface on the machine which will be
- servicing the requests. If you have multiple name-based hosts on
- multiple addresses, repeat the directive for each address.</p>
-
- <p>Note: the "main server" and any _default_ servers will
- <strong>never</strong> be served for a request to a
- <code class="directive">NameVirtualHost</code> IP Address (unless for some
- reason you specify <code class="directive">NameVirtualHost</code> but then
- don't define any VirtualHosts for that address).</p>
-
- <p>Optionally you can specify a port number on which the
- name-based virtual hosts should be used, <em>e.g.</em></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>NameVirtualHost 111.22.33.44:8080</code></td></tr></table></blockquote>
-
- <p>IPv6 addresses must be enclosed in square brackets, as shown
- in the following example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080</code></td></tr></table></blockquote>
-
-<p><strong>See also </strong></p><ul><li>See also: <a href="../vhosts/">Virtual Hosts
-documentation</a></li></ul><hr/><h2><a name="Options">Options</a> <a name="options">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures what features are available in a particular
-directory</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Options
- [+|-]<em>option</em> [[+|-]<em>option</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Options All</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">Options</code> directive controls which
- server features are available in a particular directory.</p>
-
- <p><em>option</em> can be set to <code>None</code>, in which
- case none of the extra features are enabled, or one or more of
- the following:</p>
-
- <dl>
- <dt>All</dt>
-
- <dd>All options except for MultiViews. This is the default
- setting.</dd>
-
- <dt>ExecCGI</dt>
-
- <dd>
- Execution of CGI scripts is permitted.</dd>
-
- <dt>FollowSymLinks</dt>
-
- <dd>
-
- The server will follow symbolic links in this directory.<br>
- <strong>Note</strong>: even though the server follows the
- symlink it does <em>not</em> change the pathname used to match
- against <a href="#directory" class="directive"><code class="directive"><Directory></code></a> sections.<br>
- <strong>Note</strong>: this option gets ignored if set inside a
- <a href="#location" class="directive"><code class="directive"><Location></code></a>
- section.</dd>
-
- <dt>Includes</dt>
-
- <dd>
- Server-side includes are permitted.</dd>
-
- <dt>IncludesNOEXEC</dt>
-
- <dd>
-
- Server-side includes are permitted, but the #exec command and
- #exec CGI are disabled. It is still possible to #include
- virtual CGI scripts from ScriptAliase'd directories.</dd>
-
- <dt>Indexes</dt>
-
- <dd>
- If a URL which maps to a directory is requested, and the
- there is no DirectoryIndex (<em>e.g.</em>, index.html) in
- that directory, then the server will return a formatted
- listing of the directory.</dd>
-
- <dt>MultiViews</dt>
-
- <dd>
- <a href="../content-negotiation.html">Content negotiated</a>
- MultiViews are allowed.</dd>
-
- <dt>SymLinksIfOwnerMatch</dt>
-
- <dd>
-
- The server will only follow symbolic links for which the target
- file or directory is owned by the same user id as the link.<br> <strong>Note</strong>: this option gets ignored if set inside
- a <a href="#location" class="directive"><code class="directive"><Location></code></a>
- section.</dd>
- </dl>
- <p>Normally, if multiple <code class="directive">Options</code> could apply to a
- directory, then the most specific one is taken complete; the
- options are not merged. However if <em>all</em> the options on
- the <code class="directive">Options</code> directive are preceded by a + or -
- symbol, the options are merged. Any options preceded by a + are
- added to the options currently in force, and any options
- preceded by a - are removed from the options currently in
- force. </p>
-
- <p>For example, without any + and - symbols:</p>
-
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><Directory /web/docs><br>
- Options Indexes FollowSymLinks<br>
- </Directory><br>
- <Directory /web/docs/spec><br>
- Options Includes<br>
- </Directory>
-</code></td></tr></table></blockquote>
- <p>then only <code>Includes</code> will be set for the
- /web/docs/spec directory. However if the second
- <code class="directive">Options</code> directive uses the + and - symbols:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory /web/docs><br>
- Options Indexes FollowSymLinks<br>
- </Directory><br>
- <Directory /web/docs/spec><br>
- Options +Includes -Indexes<br>
- </Directory>
-</code></td></tr></table></blockquote>
- <p>then the options <code>FollowSymLinks</code> and
- <code>Includes</code> are set for the /web/docs/spec directory.</p>
-
-
- <p><strong>Note:</strong> Using <code>-IncludesNOEXEC</code> or
- <code>-Includes</code> disables server-side includes completely
- regardless of the previous setting.</p>
-
- <p>The default in the absence of any other settings is
- <code>All</code>.</p>
-<hr/><h2><a name="Require">Require</a> <a name="require">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Selects which authenticated users can access
-a resource</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Require <em>entity-name</em> [<em>entity-name</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive selects which authenticated users can access
- a directory. The allowed syntaxes are:</p>
-
- <ul>
- <li>
- Require user <em>userid</em> [<em>userid</em>] ...
-
- <p>Only the named users can access the directory.</p>
- </li>
-
- <li>
- Require group <em>group-name</em> [<em>group-name</em>] ...
-
-
- <p>Only users in the named groups can access the
- directory.</p>
- </li>
-
- <li>
- Require valid-user
-
- <p>All valid users can access the directory.</p>
- </li>
- </ul>
-
- <p><code class="directive">Require</code> must be accompanied by
- <a href="#authname" class="directive"><code class="directive">AuthName</code></a> and <a href="#authtype" class="directive"><code class="directive">AuthType</code></a> directives, and directives such
- as <a href="mod_auth.html#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a>
- and <a href="mod_auth.html#authgroupfile" class="directive"><code class="directive">AuthGroupFile</code></a> (to
- define users and groups) in order to work correctly. Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AuthType Basic<br>
- AuthName "Restricted Directory"<br>
- AuthUserFile /web/users<br>
- AuthGroupFile /web/groups<br>
- Require group admin<br>
-</code></td></tr></table></blockquote>
-
- <p>Access controls which are applied in this way are effective for
- <strong>all</strong> methods. <strong>This is what is normally
- desired.</strong> If you wish to apply access controls only to
- specific methods, while leaving other methods unprotected, then
- place the <code class="directive">Require</code> statement into a
- <a href="#limit" class="directive"><code class="directive"><Limit></code></a>
- section.</p>
-<p><strong>See also </strong></p><ul><li><a href="#satisfy" class="directive"><code class="directive">Satisfy</code></a></li><li><code><a href="mod_access.html">mod_access</a></code></li></ul><hr/><h2><a name="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the CPU consumption of processes launched
-by Apache children</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RLimitCPU <em>number</em>|max [<em>number</em>|max]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Unset; uses operating system defaults</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Moved in version 2.0 to
- the MPMs</td></tr></table></td></tr></table>
- <p>Takes 1 or 2 parameters. The first parameter sets the soft
- resource limit for all processes and the second parameter sets
- the maximum resource limit. Either parameter can be a number,
- or <em>max</em> to indicate to the server that the limit should
- be set to the maximum allowed by the operating system
- configuration. Raising the maximum resource limit requires that
- the server is running as root, or in the initial startup
- phase.</p>
-
- <p>This applies to processes forked off from Apache children
- servicing requests, not the Apache children themselves. This
- includes CGI scripts and SSI exec commands, but not any
- processes forked off from the Apache parent such as piped
- logs.</p>
-
- <p>CPU resource limits are expressed in seconds per
- process.</p>
-<p><strong>See also </strong></p><ul><li><a href="#rlimitmem" class="directive"><code class="directive">RLimitMEM</code></a></li><li><a href="#rlimitnproc" class="directive"><code class="directive">RLimitNPROC</code></a></li></ul><hr/><h2><a name="RLimitMEM">RLimitMEM</a> <a name="rlimitmem">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the memory consumption of processes launched
-by Apache children</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RLimitMEM <em>number</em>|max [<em>number</em>|max]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Unset; uses operating system defaults</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Moved in version 2.0 to the MPMs.</td></tr></table></td></tr></table>
- <p>Takes 1 or 2 parameters. The first parameter sets the soft
- resource limit for all processes and the second parameter sets
- the maximum resource limit. Either parameter can be a number,
- or <em>max</em> to indicate to the server that the limit should
- be set to the maximum allowed by the operating system
- configuration. Raising the maximum resource limit requires that
- the server is running as root, or in the initial startup
- phase.</p>
-
- <p>This applies to processes forked off from Apache children
- servicing requests, not the Apache children themselves. This
- includes CGI scripts and SSI exec commands, but not any
- processes forked off from the Apache parent such as piped
- logs.</p>
-
- <p>Memory resource limits are expressed in bytes per
- process.</p>
-<p><strong>See also </strong></p><ul><li><a href="#rlimitcpu" class="directive"><code class="directive">RLimitCPU</code></a></li><li><a href="#rlimitnproc" class="directive"><code class="directive">RLimitNPROC</code></a></li></ul><hr/><h2><a name="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limits the number of processes that can be launched by
-processes launched by Apache children</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RLimitNPROC <em>number</em>|max [<em>number</em>|max]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Unset; uses operating system defaults</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Moved in version 2.0 to the MPMs.</td></tr></table></td></tr></table>
- <p>Takes 1 or 2 parameters. The first parameter sets the soft
- resource limit for all processes and the second parameter sets
- the maximum resource limit. Either parameter can be a number,
- or <code>max</code> to indicate to the server that the limit
- should be set to the maximum allowed by the operating system
- configuration. Raising the maximum resource limit requires that
- the server is running as root, or in the initial startup
- phase.</p>
-
- <p>This applies to processes forked off from Apache children
- servicing requests, not the Apache children themselves. This
- includes CGI scripts and SSI exec commands, but not any
- processes forked off from the Apache parent such as piped
- logs.</p>
-
- <p>Process limits control the number of processes per user.</p>
-
- <p>Note: If CGI processes are <strong>not</strong> running
- under userids other than the web server userid, this directive
- will limit the number of processes that the server itself can
- create. Evidence of this situation will be indicated by
- <strong><em>cannot fork</em></strong> messages in the
- error_log.</p>
-<p><strong>See also </strong></p><ul><li><a href="#rlimitmem" class="directive"><code class="directive">RLimitMEM</code></a></li><li><a href="#rlimitcpu" class="directive"><code class="directive">RLimitCPU</code></a></li></ul><hr/><h2><a name="Satisfy">Satisfy</a> <a name="satisfy">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures how host-level access control and user authentication
-interact</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Satisfy any|all</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Satisfy all</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>Access policy if both <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#require" class="directive"><code class="directive">Require</code></a> used. The parameter can be
- either <em>'all'</em> or <em>'any'</em>. This directive is only
- useful if access to a particular area is being restricted by both
- username/password <em>and</em> client host address. In this case
- the default behavior ("all") is to require that the client passes
- the address access restriction <em>and</em> enters a valid
- username and password. With the "any" option the client will be
- granted access if they either pass the host restriction or enter a
- valid username and password. This can be used to password restrict
- an area, but to let clients from particular addresses in without
- prompting for a password.</p>
-
- <p>For example, if you wanted to let people on your network have
- unrestricted access to a portion of your website, but require that
- people outside of your network provide a password, you could use a
- configuration similar to the following:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Require valid-user<br>
- Allow from 192.168.1<br>
- Satisfy any
- </code></td></tr></table></blockquote>
-
-<p><strong>See also </strong></p><ul><li><a href="mod_access.html#allow" class="directive"><code class="directive">Allow</code></a></li><li><a href="#require" class="directive"><code class="directive">Require</code></a></li></ul><hr/><h2><a name="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls how the interpreter for CGI scripts is
-located</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptInterpreterSource registry|script</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ScriptInterpreterSource script</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Win32 only</td></tr></table></td></tr></table>
- <p>This directive is used to control how Apache finds the
- interpreter used to run CGI scripts. The default technique is to
- use the interpreter pointed to by the #! line in the
- script. Setting <code>ScriptInterpreterSource registry</code> will
- cause the Windows Registry to be searched using the script file
- extension (e.g., .pl) as a search key.</p>
-<hr/><h2><a name="ServerAdmin">ServerAdmin</a> <a name="serveradmin">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the email address that the server includes in error
-messages sent to the client</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerAdmin <em>email-address</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerAdmin</code> sets the e-mail address
- that the server includes in any error messages it returns to the
- client.</p>
-
- <p>It may be worth setting up a dedicated address for this,
- <em>e.g.</em></p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>ServerAdmin www-admin@foo.bar.com</code></td></tr></table></blockquote>
- <p>as users do not always mention that they are talking about the
- server!</p>
-<hr/><h2><a name="ServerAlias">ServerAlias</a> <a name="serveralias">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets alternate names for a host used when matching requests
-to name-virtual hosts</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerAlias <em>hostname</em> [<em>hostname</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerAlias</code> directive sets the
- alternate names for a host, for use with <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <VirtualHost *><br>
- ServerName server.domain.com<br>
- ServerAlias server server2.domain.com server2<br>
- ...<br>
- </VirtualHost>
-</code></td></tr></table></blockquote>
-<p><strong>See also </strong></p><ul><li><a href="../vhosts/">Apache Virtual Host documentation</a></li></ul><hr/><h2><a name="ServerName">ServerName</a> <a name="servername">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the hostname and port that the server uses to identify
-itself</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerName <em>fully-qualified-domain-name[:port]</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>In version 2.0, this
- directive supersedes the functionality of the Port
- directive from version 1.3.</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerName</code> directive sets the hostname and
- port that the server uses to identify itself. This is used when
- creating redirection URLs. For example, if the name of the
- machine hosting the webserver is <code>simple.example.com</code>,
- but the machine also has the DNS alias <code>www.example.com</code>
- and you wish the webserver to be so identified, the following
- directive should be used:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>ServerName www.example.com:80</code></td></tr></table></blockquote>
-
- <p>If no <code class="directive">ServerName</code> is specified, then the
- server attempts to deduce the hostname by performing a reverse
- lookup on the IP address. If no port is specified in the
- servername, then the server will use the port from the incoming
- request. For optimal reliability and predictability, you should
- specify an explicit hostname and port using the
- <code class="directive">ServerName</code> directive.</p>
-
- <p>If you are using <a href="../vhosts/name-based.html">name-based virtual hosts</a>,
- the <code class="directive">ServerName</code> inside a
- <a href="#virtualhost" class="directive"><code class="directive"><VirtualHost></code></a>
- section specifies what hostname must appear in the request's
- <code>Host:</code> header to match this virtual host.</p>
-
- <p>See the description of the
- <a href="#usecanonicalname" class="directive"><code class="directive">UseCanonicalName</code></a> directive for
- settings which determine whether self-referential URL's (e.g., by the
- <code><a href="mod_dir.html">mod_dir</a></code> module) will refer to the
- specified port, or to the port number given in the client's request.
- </p>
-<p><strong>See also </strong></p><ul><li><a href="../dns-caveats.html">DNS Issues</a></li><li><a href="../vhosts/">Apache virtual host
- documentation</a></li><li><a href="#usecanonicalname" class="directive"><code class="directive">UseCanonicalName</code></a></li><li><a href="#namevirtualhost" class="directive"><code class="directive">NameVirtualHost</code></a></li><li><a href="#serveralias" class="directive"><code class="directive">ServerAlias</code></a></li></ul><hr/><h2><a name="ServerPath">ServerPath</a> <a name="serverpath">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the legacy URL pathname for a name-virtual host that
-is accessed by an incompatible browser</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerPath <em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerPath</code> directive sets the legacy
- URL pathname for a host, for use with <a href="../vhosts/">name-based virtual hosts</a>.</p>
-<p><strong>See also </strong></p><ul><li><a href="../vhosts/">Apache Virtual Host documentation</a></li></ul><hr/><h2><a name="ServerRoot">ServerRoot</a> <a name="serverroot">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the base directory for the server installation</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerRoot <em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ServerRoot /usr/local/apache</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerRoot</code> directive sets the
- directory in which the server lives. Typically it will contain the
- subdirectories <code>conf/</code> and <code>logs/</code>. Relative
- paths for other configuration files are taken as relative to this
- directory.</p>
-<p><strong>See also </strong></p><ul><li><a href="../invoking.html">the <code>-d</code>
- option to <code>httpd</code></a></li><li><a href="../misc/security_tips.html#serverroot">the
- security tips</a> for information on how to properly set
- permissions on the ServerRoot</li></ul><hr/><h2><a name="ServerSignature">ServerSignature</a> <a name="serversignature">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures the footer on server-generated documents</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerSignature On|Off|EMail</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ServerSignature Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">ServerSignature</code> directive allows the
- configuration of a trailing footer line under server-generated
- documents (error messages, mod_proxy ftp directory listings,
- mod_info output, ...). The reason why you would want to enable
- such a footer line is that in a chain of proxies, the user often
- has no possibility to tell which of the chained servers actually
- produced a returned error message.<br> The <code>Off</code>
- setting, which is the default, suppresses the error line (and is
- therefore compatible with the behavior of Apache-1.2 and
- below). The <code>On</code> setting simply adds a line with the
- server version number and <a href="#servername" class="directive"><code class="directive">ServerName</code></a> of the serving virtual host,
- and the <code>EMail</code> setting additionally creates a
- "mailto:" reference to the <a href="#serveradmin" class="directive"><code class="directive">ServerAdmin</code></a> of the referenced
- document.</p>
-<hr/><h2><a name="ServerTokens">ServerTokens</a> <a name="servertokens">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures the Server HTTP response header</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerTokens Minimal|ProductOnly|OS|Full</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ServerTokens Full</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>This directive controls whether <code>Server</code> response
- header field which is sent back to clients includes a
- description of the generic OS-type of the server as well as
- information about compiled-in modules.</p>
-
- <dl>
- <dt><code>ServerTokens Prod[uctOnly]</code></dt>
-
- <dd>Server sends (<em>e.g.</em>): <code>Server:
- Apache</code></dd>
-
- <dt><code>ServerTokens Min[imal]</code></dt>
-
- <dd>Server sends (<em>e.g.</em>): <code>Server:
- Apache/1.3.0</code></dd>
-
- <dt><code>ServerTokens OS</code></dt>
-
- <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/1.3.0
- (Unix)</code></dd>
-
- <dt><code>ServerTokens Full</code> (or not specified)</dt>
-
- <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/1.3.0
- (Unix) PHP/3.0 MyMod/1.2</code></dd>
- </dl>
-
- <p>This setting applies to the entire server, and cannot be
- enabled or disabled on a virtualhost-by-virtualhost basis.</p>
-<hr/><h2><a name="SetHandler">SetHandler</a> <a name="sethandler">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Forces all matching files to be processed by a
-handler</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetHandler <em>handler-name</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Moved into the core in Apache 2.0</td></tr></table></td></tr></table>
- <p>When placed into an <code>.htaccess</code> file or a
- <a href="#directory" class="directive"><code class="directive"><Directory></code></a> or
- <a href="#location" class="directive"><code class="directive"><Location></code></a>
- section, this directive forces all matching files to be parsed
- through the <a href="../handler.html">handler</a> given by
- <em>handler-name</em>. For example, if you had a directory you
- wanted to be parsed entirely as imagemap rule files, regardless
- of extension, you might put the following into an
- <code>.htaccess</code> file in that directory:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- SetHandler imap-file
-</code></td></tr></table></blockquote>
-
- <p>Another example: if you wanted to have the server display a
- status report whenever a URL of
- <code>http://servername/status</code> was called, you might put
- the following into httpd.conf:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location /status><br>
- SetHandler server-status<br>
- </Location>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SetInputFilter">SetInputFilter</a> <a name="setinputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the filters that will process client requests and POST
-input</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetInputFilter <em>filter</em>[<em>;filter</em>...]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">SetInputFilter</code> directive sets the
- filter or filters which will process client requests and POST
- input when they are received by the server. This is in addition to
- any filters defined elsewhere, including the
- <a href="mod_mime.html#addinputfilter" class="directive"><code class="directive">AddInputFilter</code></a>
- directive.</p>
-
- <p>If more than one filter is specified, they must be separated
- by semicolons in the order in which they should process the
- content.</p>
-<p><strong>See also </strong></p><ul><li><a href="../filter.html">Filters</a> documentation</li></ul><hr/><h2><a name="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the filters that will process responses from the
-server</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetOutputFilter <em>filter</em> [<em>filter</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">SetOutputFilter</code> directive sets the filters
- which will process responses from the server before they are
- sent to the client. This is in addition to any filters defined
- elsewhere, including the
- <a href="mod_mime.html#addoutputfilter" class="directive"><code class="directive">AddOutputFilter</code></a>
- directive.</p>
-
- <p>For example, the following configuration will process all files
- in the <code>/www/data/</code> directory for server-side
- includes.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Directory /www/data/><br>
- SetOutputFilter INCLUDES<br>
-</Directory>
-</code></td></tr></table></blockquote>
-
- <p>If more than one filter is specified, they must be separated
- by semicolons in the order in which they should process the
- content.</p>
-<p><strong>See also </strong></p><ul><li><a href="../filter.html">Filters</a> documentation</li></ul><hr/><h2><a name="TimeOut">TimeOut</a> <a name="timeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Defines the amount of time the server will wait for
-certain events before failing a request</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>TimeOut <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>TimeOut 300</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>The <code class="directive">TimeOut</code> directive currently defines
- the amount of time Apache will wait for three things:</p>
-
- <ol>
- <li>The total amount of time it takes to receive a GET
- request.</li>
-
- <li>The amount of time between receipt of TCP packets on a
- POST or PUT request.</li>
-
- <li>The amount of time between ACKs on transmissions of TCP
- packets in responses.</li>
- </ol>
-
- <p>We plan on making these separately configurable at some point
- down the road. The timer used to default to 1200 before 1.2,
- but has been lowered to 300 which is still far more than
- necessary in most situations. It is not set any lower by
- default because there may still be odd places in the code where
- the timer is not reset when a packet is sent. </p>
-<hr/><h2><a name="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures how the server determines its own name and
-port</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>UseCanonicalName on|off|dns</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>UseCanonicalName on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p>In many situations Apache has to construct a
- <em>self-referential</em> URL. That is, a URL which refers back to
- the same server. With <code>UseCanonicalName on</code> Apache will
- use the hostname and port specified in the <a href="#servername" class="directive"><code class="directive">ServerName</code></a> directive to construct a canonical
- name for the server. This name is used in all self-referential
- URLs, and for the values of <code>SERVER_NAME</code> and
- <code>SERVER_PORT</code> in CGIs.</p>
-
- <p>With <code>UseCanonicalName off</code> Apache will form
- self-referential URLs using the hostname and port supplied by
- the client if any are supplied (otherwise it will use the
- canonical name). These values are the same that are used to
- implement <a href="../vhosts/name-based.html">name based
- virtual hosts</a>, and are available with the same clients. The
- CGI variables <code>SERVER_NAME</code> and
- <code>SERVER_PORT</code> will be constructed from the client
- supplied values as well.</p>
-
- <p>An example where this may be useful is on an intranet server
- where you have users connecting to the machine using short
- names such as <code>www</code>. You'll notice that if the users
- type a shortname, and a URL which is a directory, such as
- <code>http://www/splat</code>, <em>without the trailing
- slash</em> then Apache will redirect them to
- <code>http://www.domain.com/splat/</code>. If you have
- authentication enabled, this will cause the user to have to
- reauthenticate twice (once for <code>www</code> and once again
- for <code>www.domain.com</code>). But if
- <code class="directive">UseCanonicalName</code> is set off, then Apache will
- redirect to <code>http://www/splat/</code>.</p>
-
- <p>There is a third option, <code>UseCanonicalName DNS</code>,
- which is intended for use with mass IP-based virtual hosting to
- support ancient clients that do not provide a
- <code>Host:</code> header. With this option Apache does a
- reverse DNS lookup on the server IP address that the client
- connected to in order to work out self-referential URLs.</p>
-
- <p><strong>Warning:</strong> if CGIs make assumptions about the
- values of <code>SERVER_NAME</code> they may be broken by this
- option. The client is essentially free to give whatever value
- they want as a hostname. But if the CGI is only using
- <code>SERVER_NAME</code> to construct self-referential URLs
- then it should be just fine.</p>
-<p><strong>See also </strong></p><ul><li><a href="#servername" class="directive"><code class="directive">ServerName</code></a></li><li><a href="mpm_common.html#listen" class="directive"><code class="directive">Listen</code></a></li></ul><hr/><h2><a name="VirtualHost"><VirtualHost></a> <a name="virtualhost">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Contains directives that apply only to a specific
-hostname or IP address</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><VirtualHost
- <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
- ...> ... </VirtualHost></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Core</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>core</td></tr></table></td></tr></table>
- <p><code class="directive"><VirtualHost></code> and
- <code></VirtualHost></code> are used to enclose a group of
- directives which will apply only to a particular virtual host. Any
- directive which is allowed in a virtual host context may be
- used. When the server receives a request for a document on a
- particular virtual host, it uses the configuration directives
- enclosed in the <code class="directive"><VirtualHost></code>
- section. <em>Addr</em> can be</p>
-
- <ul>
- <li>The IP address of the virtual host</li>
-
- <li>A fully qualified domain name for the IP address of the
- virtual host.</li>
- </ul>
-
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- <VirtualHost 10.1.2.3><br>
- ServerAdmin webmaster@host.foo.com<br>
- DocumentRoot /www/docs/host.foo.com<br>
- ServerName host.foo.com<br>
- ErrorLog logs/host.foo.com-error_log<br>
- TransferLog logs/host.foo.com-access_log<br>
- </VirtualHost>
-</code></td></tr></table></blockquote>
-
-
- <p>IPv6 addresses must be specified in square brackets because
- the optional port number could not be determined otherwise. An
- IPv6 example is shown below:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<VirtualHost [fe80::a00:20ff:fea7:ccea]><br>
- ServerAdmin webmaster@host.foo.com<br>
- DocumentRoot /www/docs/host.foo.com<br>
- ServerName host.foo.com<br>
- ErrorLog logs/host.foo.com-error_log<br>
- TransferLog logs/host.foo.com-access_log<br>
- </VirtualHost>
-</code></td></tr></table></blockquote>
-
- <p>Each Virtual Host must correspond to a different IP address,
- different port number or a different host name for the server,
- in the former case the server machine must be configured to
- accept IP packets for multiple addresses. (If the machine does
- not have multiple network interfaces, then this can be
- accomplished with the <code>ifconfig alias</code> command (if
- your OS supports it), or with kernel patches like <a href="../misc/vif-info.html">VIF</a> (for SunOS(TM) 4.1.x)).</p>
-
- <p>The special name <code>_default_</code> can be specified in
- which case this virtual host will match any IP address that is
- not explicitly listed in another virtual host. In the absence
- of any _default_ virtual host the "main" server config,
- consisting of all those definitions outside any VirtualHost
- section, is used when no match occurs.</p>
-
- <p>You can specify a <code>:port</code> to change the port that is
- matched. If unspecified then it defaults to the same port as the
- most recent <a href="mpm_common.html#listen" class="directive"><code class="directive">Listen</code></a>
- statement of the main server. You may also specify <code>:*</code>
- to match all ports on that address. (This is recommended when used
- with <code>_default_</code>.)</p>
-
- <p><strong>SECURITY</strong>: See the <a href="../misc/security_tips.html">security tips</a> document
- for details on why your security could be compromised if the
- directory where logfiles are stored is writable by anyone other
- than the user that starts the server.</p>
-
- <p><strong>NOTE</strong>: The use of <code class="directive"><VirtualHost></code> does <strong>not</strong>
- affect what addresses Apache listens on. You may need to ensure
- that Apache is listening on the correct addresses using <a href="mpm_common.html#listen" class="directive"><code class="directive">Listen</code></a>.</p>
-<p><strong>See also </strong></p><ul><li><a href="../vhosts/">Apache Virtual Host documentation</a></li><li><a href="../dns-caveats.html">Warnings about DNS and
- Apache</a></li><li><a href="../bind.html">Setting
- which addresses and ports Apache uses</a></li><li><a href="../sections.html">How
- Directory, Location and Files sections work</a> for an
- explanation of how these different sections are combined when a
- request is received</li></ul><hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Definitions of terms used to describe Apache
- directives</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Terms Used to Describe Apache
- Directives</h1>
-
- <p>Each Apache configuration directive is described using a
- common format that looks like this:</p>
-
- <dl>
- <dd><a href="#Syntax" rel="Help"><strong>Syntax:</strong></a>
- <em>directive-name</em> <em>some args</em><br />
- <a href="#Default" rel="Help"><strong>Default:</strong></a>
- <samp><em>directive-name default-value</em></samp><br />
- <a href="#Context" rel="Help"><strong>Context:</strong></a>
- <em>context-list</em><br />
- <a href="#Override"
- rel="Help"><strong>Override:</strong></a>
- <em>override</em><br />
- <a href="#Status" rel="Help"><strong>Status:</strong></a>
- <em>status</em><br />
- <a href="#Module" rel="Help"><strong>Module:</strong></a>
- <em>module-name</em><br />
- <a href="#Compatibility"
- rel="Help"><strong>Compatibility:</strong></a>
- <em>compatibility notes</em><br />
- <a href="#Deprecated"
- rel="Help"><strong>Deprecated:</strong></a> <em>see
- other</em></dd>
- </dl>
-
- <p>Each of the directive's attributes, complete with possible
- values where possible, are described in this document.</p>
-
- <h2>Directive Terms</h2>
-
- <ul>
- <li><a href="#Syntax">Syntax</a></li>
-
- <li><a href="#Default">Default</a></li>
-
- <li><a href="#Context">Context</a></li>
-
- <li><a href="#Override">Override</a></li>
-
- <li><a href="#Status">Status</a></li>
-
- <li><a href="#Module">Module</a></li>
-
- <li><a href="#Compatibility">Compatibility</a></li>
-
- <li><a href="#Deprecated">Deprecated</a></li>
- </ul>
- <hr />
-
- <h2><a id="Syntax" name="Syntax">Syntax</a></h2>
-
- <p>This indicates the format of the directive as it would
- appear in a configuration file. This syntax is extremely
- directive-specific, and is described in detail in the
- directive's definition. Generally, the directive name is
- followed by a series of one or more space-separated arguments.
- If an argument contains a space, the argument must be enclosed
- in double quotes. Optional arguments are enclosed in square
- brackets. Where an argument can take on more than one possible
- value, the possible values are separated by vertical bars "|".
- Literal text is presented in the default font, while
- argument-types for which substitution is necessary are
- <em>emphasized</em>. Directives which can take a variable
- number of arguments will end in "..." indicating that the last
- argument is repeated.</p>
-
- <p>Directives use a great number of different argument types. A
- few common ones are defined below.</p>
-
- <dl>
- <dt><em>URL</em></dt>
-
- <dd>A complete Uniform Resource Locator including a scheme,
- hostname, and optional pathname as in
- <code>http://www.example.com/path/to/file.html</code></dd>
-
- <dt><em>URL-path</em></dt>
-
- <dd>The part of a <em>url</em> which follows the scheme and
- hostname as in <code>/path/to/file.html</code>. The
- <em>url-path</em> represents a web-view of a resource, as
- opposed to a file-system view.</dd>
-
- <dt><em>file-path</em></dt>
-
- <dd>The path to a file in the local file-system beginning
- with the root directory as in
- <code>/usr/local/apache/htdocs/path/to/file.html</code>.
- Unless otherwise specified, a <em>file-path</em> which does
- not begin with a slash will be treated as relative to the <a
- href="core.html#serverroot">ServerRoot</a>.</dd>
-
- <dt><em>directory-path</em></dt>
-
- <dd>The path to a directory in the local file-system
- beginning with the root directory as in
- <code>/usr/local/apache/htdocs/path/to/</code>.</dd>
-
- <dt><em>filename</em></dt>
-
- <dd>The name of a file with no accompanying path information
- as in <code>file.html</code>.</dd>
-
- <dt><em>regex</em></dt>
-
- <dd>A regular expression, which is a way of describing a
- pattern to match in text. The directive definition will
- specify what the <em>regex</em> is matching against.</dd>
-
- <dt><em>extension</em></dt>
-
- <dd>In general, this is the part of the <em>filename</em>
- which follows the last dot. However, Apache recognizes
- multiple filename extensions, so if a <em>filename</em>
- contains more than one dot, each dot-separated part of the
- filename following the first dot is an <em>extension</em>.
- For example, the <em>filename</em> <code>file.html.en</code>
- contains two extensions: <code>.html</code> and
- <code>.en</code>. For Apache directives, you may specify
- <em>extension</em>s with or without the leading dot. In
- addition, <em>extension</em>s are not case sensitive.</dd>
-
- <dt><em>MIME-type</em></dt>
-
- <dd>A method of describing the format of a file which
- consists of a major format type and a minor format type,
- separated by a slash as in <code>text/html</code>.</dd>
-
- <dt><em>env-variable</em></dt>
-
- <dd>The name of an <a href="../env.html">environment
- variable</a> defined in the Apache configuration process.
- Note this is not necessarily the same as an operating system
- environment variable. See the <a
- href="../env.html">environment variable documentation</a> for
- more details.</dd>
- </dl>
- <hr />
-
- <h2><a id="Default" name="Default">Default</a></h2>
-
- <p>If the directive has a default value (<em>i.e.</em>, if you
- omit it from your configuration entirely, the Apache Web server
- will behave as though you set it to a particular value), it is
- described here. If there is no default value, this section
- should say "<em>None</em>". Note that the default listed here
- is not necessarily the same as the value the directive takes in
- the default httpd.conf distributed with the server.</p>
- <hr />
-
- <h2><a id="Context" name="Context">Context</a></h2>
-
- <p>This indicates where in the server's configuration files the
- directive is legal. It's a comma-separated list of one or more
- of the following values:</p>
-
- <dl>
- <dt><strong>server config</strong></dt>
-
- <dd>This means that the directive may be used in the server
- configuration files (<em>e.g.</em>, <samp>httpd.conf</samp>,
- <samp>srm.conf</samp>, and <samp>access.conf</samp>), but
- <strong>not</strong> within any
- <samp><VirtualHost></samp> or <Directory>
- containers. It is not allowed in <samp>.htaccess</samp> files
- at all.</dd>
-
- <dt><strong>virtual host</strong></dt>
-
- <dd>This context means that the directive may appear inside
- <samp><VirtualHost></samp> containers in the server
- configuration files.</dd>
-
- <dt><strong>directory</strong></dt>
-
- <dd>A directive marked as being valid in this context may be
- used inside <samp><Directory></samp>,
- <samp><Location></samp>, and <samp><Files></samp>
- containers in the server configuration files, subject to the
- restrictions outlined in <a href="../sections.html">How
- Directory, Location and Files sections work</a>.</dd>
-
- <dt><strong>.htaccess</strong></dt>
-
- <dd>If a directive is valid in this context, it means that it
- can appear inside <em>per</em>-directory
- <samp>.htaccess</samp> files. It may not be processed, though
- depending upon the <a href="#Override"
- rel="Help">overrides</a> currently active.</dd>
- </dl>
-
- <p>The directive is <em>only</em> allowed within the designated
- context; if you try to use it elsewhere, you'll get a
- configuration error that will either prevent the server from
- handling requests in that context correctly, or will keep the
- server from operating at all -- <em>i.e.</em>, the server won't
- even start.</p>
-
- <p>The valid locations for the directive are actually the
- result of a Boolean OR of all of the listed contexts. In other
- words, a directive that is marked as being valid in
- "<samp>server config, .htaccess</samp>" can be used in the
- <samp>httpd.conf</samp> file and in <samp>.htaccess</samp>
- files, but not within any <Directory> or
- <VirtualHost> containers.</p>
- <hr />
-
- <h2><a id="Override" name="Override">Override</a></h2>
-
- <p>This directive attribute indicates which configuration
- override must be active in order for the directive to be
- processed when it appears in a <samp>.htaccess</samp> file. If
- the directive's <a href="#Context" rel="Help">context</a>
- doesn't permit it to appear in <samp>.htaccess</samp> files,
- this attribute should say "<em>Not applicable</em>".</p>
-
- <p>Overrides are activated by the <a
- href="core.html#allowoverride"
- rel="Help"><samp>AllowOverride</samp></a> directive, and apply
- to a particular scope (such as a directory) and all
- descendants, unless further modified by other
- <samp>AllowOverride</samp> directives at lower levels. The
- documentation for that directive also lists the possible
- override names available.</p>
- <hr />
-
- <h2><a id="Status" name="Status">Status</a></h2>
-
- <p>This indicates how tightly bound into the Apache Web server
- the directive is; in other words, you may need to recompile the
- server with an enhanced set of modules in order to gain access
- to the directive and its functionality. Possible values for
- this attribute are:</p>
-
- <dl>
- <dt><strong>Core</strong></dt>
-
- <dd>If a directive is listed as having "Core" status, that
- means it is part of the innermost portions of the Apache Web
- server, and is always available.</dd>
-
- <dt><strong>MPM</strong></dt>
-
- <dd>A directive labeled as having "MPM" status is provided by
- a <a href="../mpm.html">Multi-Processing Module</a>. This
- type of directive will be available if and only if you are
- using one of the MPMs listed on the <a
- href="#Module">Module</a> line of the directive
- definition.</dd>
-
- <dt><strong>Base</strong></dt>
-
- <dd>A directive labeled as having "Base" status is supported
- by one of the standard Apache modules which is compiled into
- the server by default, and is therefore normally available
- unless you've taken steps to remove the module from your
- configuration.</dd>
-
- <dt><strong>Extension</strong></dt>
-
- <dd>A directive with "Extension" status is provided by one of
- the modules included with the Apache server kit, but the
- module isn't normally compiled into the server. To enable the
- directive and its functionality, you will need to change the
- server build configuration files and re-compile Apache.</dd>
-
- <dt><strong>Experimental</strong></dt>
-
- <dd>"Experimental" status indicates that the directive is
- available as part of the Apache kit, but you're on your own
- if you try to use it. The directive is being documented for
- completeness, and is not necessarily supported. The module
- which provides the directive may or may not be compiled in by
- default; check the top of the page which describes the
- directive and its module to see if it remarks on the
- availability.</dd>
- </dl>
- <hr />
-
- <h2><a id="Module" name="Module">Module</a></h2>
-
- <p>This quite simply lists the name of the source module which
- defines the directive.</p>
- <hr />
-
- <h2><a id="Compatibility"
- name="Compatibility">Compatibility</a></h2>
-
- <p>If the directive wasn't part of the original Apache version
- 1 distribution, the version in which it was introduced should
- be listed here. If the directive has the same name as one from
- the NCSA HTTPd server, any inconsistencies in behavior between
- the two should also be mentioned. Otherwise, this attribute
- should say "<em>No compatibility issues.</em>"</p>
- <hr />
-
- <h2><a id="Deprecated" name="Deprecated">Deprecated</a></h2>
-
- <p>If this directive is eliminated since the Apache version 1
- distribution, the directive or option that replaces the
- behavior should be cited here. In general, directives,
- features, and options are only deprecated to minimize debugging
- of conflicting features, or if the feature can only continue to
- be supported in an alternate manner.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Definitions of terms used to describe Apache
- directives</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Terms Used to Describe Apache
- Directives</h1>
-
- <p>Each Apache configuration directive is described using a
- common format that looks like this:</p>
-
- <dl>
- <dd><a href="#Syntax" rel="Help"><strong>Syntax:</strong></a>
- <em>directive-name</em> <em>some args</em><br />
- <a href="#Default" rel="Help"><strong>Default:</strong></a>
- <samp><em>directive-name default-value</em></samp><br />
- <a href="#Context" rel="Help"><strong>Context:</strong></a>
- <em>context-list</em><br />
- <a href="#Override"
- rel="Help"><strong>Override:</strong></a>
- <em>override</em><br />
- <a href="#Status" rel="Help"><strong>Status:</strong></a>
- <em>status</em><br />
- <a href="#Module" rel="Help"><strong>Module:</strong></a>
- <em>module-name</em><br />
- <a href="#Compatibility"
- rel="Help"><strong>Compatibility:</strong></a>
- <em>compatibility notes</em><br />
- <a href="#Deprecated"
- rel="Help"><strong>Deprecated:</strong></a> <em>see
- other</em></dd>
- </dl>
-
- <p>Each of the directive's attributes, complete with possible
- values where possible, are described in this document.</p>
-
- <h2>Directive Terms</h2>
-
- <ul>
- <li><a href="#Syntax">Syntax</a></li>
-
- <li><a href="#Default">Default</a></li>
-
- <li><a href="#Context">Context</a></li>
-
- <li><a href="#Override">Override</a></li>
-
- <li><a href="#Status">Status</a></li>
-
- <li><a href="#Module">Module</a></li>
-
- <li><a href="#Compatibility">Compatibility</a></li>
-
- <li><a href="#Deprecated">Deprecated</a></li>
- </ul>
- <hr />
-
- <h2><a id="Syntax" name="Syntax">Syntax</a></h2>
-
- <p>This indicates the format of the directive as it would
- appear in a configuration file. This syntax is extremely
- directive-specific, and is described in detail in the
- directive's definition. Generally, the directive name is
- followed by a series of one or more space-separated arguments.
- If an argument contains a space, the argument must be enclosed
- in double quotes. Optional arguments are enclosed in square
- brackets. Where an argument can take on more than one possible
- value, the possible values are separated by vertical bars "|".
- Literal text is presented in the default font, while
- argument-types for which substitution is necessary are
- <em>emphasized</em>. Directives which can take a variable
- number of arguments will end in "..." indicating that the last
- argument is repeated.</p>
-
- <p>Directives use a great number of different argument types. A
- few common ones are defined below.</p>
-
- <dl>
- <dt><em>URL</em></dt>
-
- <dd>A complete Uniform Resource Locator including a scheme,
- hostname, and optional pathname as in
- <code>http://www.example.com/path/to/file.html</code></dd>
-
- <dt><em>URL-path</em></dt>
-
- <dd>The part of a <em>url</em> which follows the scheme and
- hostname as in <code>/path/to/file.html</code>. The
- <em>url-path</em> represents a web-view of a resource, as
- opposed to a file-system view.</dd>
-
- <dt><em>file-path</em></dt>
-
- <dd>The path to a file in the local file-system beginning
- with the root directory as in
- <code>/usr/local/apache/htdocs/path/to/file.html</code>.
- Unless otherwise specified, a <em>file-path</em> which does
- not begin with a slash will be treated as relative to the <a
- href="core.html#serverroot">ServerRoot</a>.</dd>
-
- <dt><em>directory-path</em></dt>
-
- <dd>The path to a directory in the local file-system
- beginning with the root directory as in
- <code>/usr/local/apache/htdocs/path/to/</code>.</dd>
-
- <dt><em>filename</em></dt>
-
- <dd>The name of a file with no accompanying path information
- as in <code>file.html</code>.</dd>
-
- <dt><em>regex</em></dt>
-
- <dd>A regular expression, which is a way of describing a
- pattern to match in text. The directive definition will
- specify what the <em>regex</em> is matching against.</dd>
-
- <dt><em>extension</em></dt>
-
- <dd>In general, this is the part of the <em>filename</em>
- which follows the last dot. However, Apache recognizes
- multiple filename extensions, so if a <em>filename</em>
- contains more than one dot, each dot-separated part of the
- filename following the first dot is an <em>extension</em>.
- For example, the <em>filename</em> <code>file.html.en</code>
- contains two extensions: <code>.html</code> and
- <code>.en</code>. For Apache directives, you may specify
- <em>extension</em>s with or without the leading dot. In
- addition, <em>extension</em>s are not case sensitive.</dd>
-
- <dt><em>MIME-type</em></dt>
-
- <dd>A method of describing the format of a file which
- consists of a major format type and a minor format type,
- separated by a slash as in <code>text/html</code>.</dd>
-
- <dt><em>env-variable</em></dt>
-
- <dd>The name of an <a href="../env.html">environment
- variable</a> defined in the Apache configuration process.
- Note this is not necessarily the same as an operating system
- environment variable. See the <a
- href="../env.html">environment variable documentation</a> for
- more details.</dd>
- </dl>
- <hr />
-
- <h2><a id="Default" name="Default">Default</a></h2>
-
- <p>If the directive has a default value (<em>i.e.</em>, if you
- omit it from your configuration entirely, the Apache Web server
- will behave as though you set it to a particular value), it is
- described here. If there is no default value, this section
- should say "<em>None</em>". Note that the default listed here
- is not necessarily the same as the value the directive takes in
- the default httpd.conf distributed with the server.</p>
- <hr />
-
- <h2><a id="Context" name="Context">Context</a></h2>
-
- <p>This indicates where in the server's configuration files the
- directive is legal. It's a comma-separated list of one or more
- of the following values:</p>
-
- <dl>
- <dt><strong>server config</strong></dt>
-
- <dd>This means that the directive may be used in the server
- configuration files (<em>e.g.</em>, <samp>httpd.conf</samp>,
- <samp>srm.conf</samp>, and <samp>access.conf</samp>), but
- <strong>not</strong> within any
- <samp><VirtualHost></samp> or <Directory>
- containers. It is not allowed in <samp>.htaccess</samp> files
- at all.</dd>
-
- <dt><strong>virtual host</strong></dt>
-
- <dd>This context means that the directive may appear inside
- <samp><VirtualHost></samp> containers in the server
- configuration files.</dd>
-
- <dt><strong>directory</strong></dt>
-
- <dd>A directive marked as being valid in this context may be
- used inside <samp><Directory></samp>,
- <samp><Location></samp>, and <samp><Files></samp>
- containers in the server configuration files, subject to the
- restrictions outlined in <a href="../sections.html">How
- Directory, Location and Files sections work</a>.</dd>
-
- <dt><strong>.htaccess</strong></dt>
-
- <dd>If a directive is valid in this context, it means that it
- can appear inside <em>per</em>-directory
- <samp>.htaccess</samp> files. It may not be processed, though
- depending upon the <a href="#Override"
- rel="Help">overrides</a> currently active.</dd>
- </dl>
-
- <p>The directive is <em>only</em> allowed within the designated
- context; if you try to use it elsewhere, you'll get a
- configuration error that will either prevent the server from
- handling requests in that context correctly, or will keep the
- server from operating at all -- <em>i.e.</em>, the server won't
- even start.</p>
-
- <p>The valid locations for the directive are actually the
- result of a Boolean OR of all of the listed contexts. In other
- words, a directive that is marked as being valid in
- "<samp>server config, .htaccess</samp>" can be used in the
- <samp>httpd.conf</samp> file and in <samp>.htaccess</samp>
- files, but not within any <Directory> or
- <VirtualHost> containers.</p>
- <hr />
-
- <h2><a id="Override" name="Override">Override</a></h2>
-
- <p>This directive attribute indicates which configuration
- override must be active in order for the directive to be
- processed when it appears in a <samp>.htaccess</samp> file. If
- the directive's <a href="#Context" rel="Help">context</a>
- doesn't permit it to appear in <samp>.htaccess</samp> files,
- this attribute should say "<em>Not applicable</em>".</p>
-
- <p>Overrides are activated by the <a
- href="core.html#allowoverride"
- rel="Help"><samp>AllowOverride</samp></a> directive, and apply
- to a particular scope (such as a directory) and all
- descendants, unless further modified by other
- <samp>AllowOverride</samp> directives at lower levels. The
- documentation for that directive also lists the possible
- override names available.</p>
- <hr />
-
- <h2><a id="Status" name="Status">Status</a></h2>
-
- <p>This indicates how tightly bound into the Apache Web server
- the directive is; in other words, you may need to recompile the
- server with an enhanced set of modules in order to gain access
- to the directive and its functionality. Possible values for
- this attribute are:</p>
-
- <dl>
- <dt><strong>Core</strong></dt>
-
- <dd>If a directive is listed as having "Core" status, that
- means it is part of the innermost portions of the Apache Web
- server, and is always available.</dd>
-
- <dt><strong>MPM</strong></dt>
-
- <dd>A directive labeled as having "MPM" status is provided by
- a <a href="../mpm.html">Multi-Processing Module</a>. This
- type of directive will be available if and only if you are
- using one of the MPMs listed on the <a
- href="#Module">Module</a> line of the directive
- definition.</dd>
-
- <dt><strong>Base</strong></dt>
-
- <dd>A directive labeled as having "Base" status is supported
- by one of the standard Apache modules which is compiled into
- the server by default, and is therefore normally available
- unless you've taken steps to remove the module from your
- configuration.</dd>
-
- <dt><strong>Extension</strong></dt>
-
- <dd>A directive with "Extension" status is provided by one of
- the modules included with the Apache server kit, but the
- module isn't normally compiled into the server. To enable the
- directive and its functionality, you will need to change the
- server build configuration files and re-compile Apache.</dd>
-
- <dt><strong>Experimental</strong></dt>
-
- <dd>"Experimental" status indicates that the directive is
- available as part of the Apache kit, but you're on your own
- if you try to use it. The directive is being documented for
- completeness, and is not necessarily supported. The module
- which provides the directive may or may not be compiled in by
- default; check the top of the page which describes the
- directive and its module to see if it remarks on the
- availability.</dd>
- </dl>
- <hr />
-
- <h2><a id="Module" name="Module">Module</a></h2>
-
- <p>This quite simply lists the name of the source module which
- defines the directive.</p>
- <hr />
-
- <h2><a id="Compatibility"
- name="Compatibility">Compatibility</a></h2>
-
- <p>If the directive wasn't part of the original Apache version
- 1 distribution, the version in which it was introduced should
- be listed here. If the directive has the same name as one from
- the NCSA HTTPd server, any inconsistencies in behavior between
- the two should also be mentioned. Otherwise, this attribute
- should say "<em>No compatibility issues.</em>"</p>
- <hr />
-
- <h2><a id="Deprecated" name="Deprecated">Deprecated</a></h2>
-
- <p>If this directive is eliminated since the Apache version 1
- distribution, the directive or option that replaces the
- behavior should be cited here. In general, directives,
- features, and options are only deprecated to minimize debugging
- of conflicting features, or if the feature can only continue to
- be supported in an alternate manner.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><title>Directive Index- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Directive Index</h1>
- <p>
- Each Apache directive available in the standard Apache
- distribution is listed here. They are described using a
- consistent format, and there is <a href="directive-dict.html" rel="Glossary">a dictionary</a> of the terms used in their
- descriptions available.
- </p>
- <ul><li><a href="prefork.html#acceptmutex">AcceptMutex</a></li><li><a href="core.html#acceptpathinfo">AcceptPathInfo</a></li><li><a href="core.html#accessfilename">AccessFileName</a></li><li><a href="mod_actions.html#action">Action</a></li><li><a href="mod_autoindex.html#addalt">AddAlt</a></li><li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li><li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a></li><li><a href="mod_mime.html#addcharset">AddCharset</a></li><li><a href="core.html#adddefaultcharset">AddDefaultCharset</a></li><li><a href="mod_autoindex.html#adddescription">AddDescription</a></li><li><a href="mod_mime.html#addencoding">AddEncoding</a></li><li><a href="mod_mime.html#addhandler">AddHandler</a></li><li><a href="mod_autoindex.html#addicon">AddIcon</a></li><li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li><li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a></li><li><a href="mod_mime.html#addinputfilter">AddInputFilter</a></li><li><a href="mod_mime.html#addlanguage">AddLanguage</a></li><li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li><li><a href="mod_mime.html#addoutputfilter">AddOutputFilter</a></li><li><a href="mod_mime.html#addtype">AddType</a></li><li><a href="mod_alias.html#alias">Alias</a></li><li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li><li><a href="mod_access.html#allow">Allow</a></li><li><a href="mod_proxy.html#allowconnect">AllowCONNECT</a></li><li><a href="core.html#allowoverride">AllowOverride</a></li><li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li><li><a href="mod_auth_anon.html#anonymous_authoritative">Anonymous_Authoritative</a></li><li><a href="mod_auth_anon.html#anonymous_logemail">Anonymous_LogEmail</a></li><li><a href="mod_auth_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li><li><a href="mod_auth_anon.html#anonymous_nouserid">Anonymous_NoUserID</a></li><li><a href="mod_auth_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail</a></li><li><a href="perchild.html#assignuserid">AssignUserId</a></li><li><a href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li><li><a href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li><li><a href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li><li><a href="mod_auth_dbm.html#authdbmtype">AuthDBMType</a></li><li><a href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li><li><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm</a></li><li><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain</a></li><li><a href="mod_auth_digest.html#authdigestfile">AuthDigestFile</a></li><li><a href="mod_auth_digest.html#authdigestgroupfile">AuthDigestGroupFile</a></li><li><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck</a></li><li><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat</a></li><li><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li><li><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop</a></li><li><a href="mod_auth.html#authgroupfile">AuthGroupFile</a></li><li><a href="core.html#authname">AuthName</a></li><li><a href="core.html#authtype">AuthType</a></li><li><a href="mod_auth.html#authuserfile">AuthUserFile</a></li><li><a href="mod_setenvif.html#browsermatch">BrowserMatch</a></li><li><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></li><li><a href="mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></li><li><a href="mod_cache.html#cachedisable">CacheDisable</a></li><li><a href="mod_cache.html#cacheenable">CacheEnable</a></li><li><a href="mod_file_cache.html#cachefile">CacheFile</a></li><li><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li><li><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li><li><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li><li><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire</a></li><li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li><li><a href="mod_cache.html#cacheon">CacheOn</a></li><li><a href="mod_charset_lite.html#charsetdefault">CharsetDefault</a></li><li><a href="mod_charset_lite.html#charsetoptions">CharsetOptions</a></li><li><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc</a></li><li><a href="mod_speling.html#checkspelling">CheckSpelling</a></li><li><a href="perchild.html#childperuserid">ChildPerUserId</a></li><li><a href="core.html#contentdigest">ContentDigest</a></li><li><a href="mod_usertrack.html#cookiedomain">CookieDomain</a></li><li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a></li><li><a href="mod_log_config.html#cookielog">CookieLog</a></li><li><a href="mod_usertrack.html#cookiename">CookieName</a></li><li><a href="mod_usertrack.html#cookiestyle">CookieStyle</a></li><li><a href="mod_usertrack.html#cookietracking">CookieTracking</a></li><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mod_log_config.html#customlog">CustomLog</a></li><li><a href="mod_dav.html#dav">Dav</a></li><li><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity</a></li><li><a href="mod_dav.html#davlockdb">DavLockDB</a></li><li><a href="mod_dav.html#davmintimeout">DavMinTimeout</a></li><li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a></li><li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li><li><a href="core.html#defaulttype">DefaultType</a></li><li><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize</a></li><li><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote</a></li><li><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel</a></li><li><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize</a></li><li><a href="mod_access.html#deny">Deny</a></li><li><a href="core.html#directory">Directory</a></li><li><a href="mod_dir.html#directoryindex">DirectoryIndex</a></li><li><a href="core.html#directorymatch">DirectoryMatch</a></li><li><a href="core.html#documentroot">DocumentRoot</a></li><li><a href="core.html#enablemmap">EnableMMAP</a></li><li><a href="core.html#errordocument">ErrorDocument</a></li><li><a href="core.html#errorlog">ErrorLog</a></li><li><a href="mod_example.html#example">Example</a></li><li><a href="mod_expires.html#expiresactive">ExpiresActive</a></li><li><a href="mod_expires.html#expiresbytype">ExpiresByType</a></li><li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a></li><li><a href="mod_status.html#extendedstatus">ExtendedStatus</a></li><li><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></li><li><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></li><li><a href="core.html#fileetag">FileETag</a></li><li><a href="core.html#files">Files</a></li><li><a href="core.html#filesmatch">FilesMatch</a></li><li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li><li><a href="core.html#forcetype">ForceType</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mod_headers.html#header">Header</a></li><li><a href="mod_autoindex.html#headername">HeaderName</a></li><li><a href="core.html#hostnamelookups">HostnameLookups</a></li><li><a href="core.html#identitycheck">IdentityCheck</a></li><li><a href="core.html#ifdefine">IfDefine</a></li><li><a href="core.html#ifmodule">IfModule</a></li><li><a href="mod_imap.html#imapbase">ImapBase</a></li><li><a href="mod_imap.html#imapdefault">ImapDefault</a></li><li><a href="mod_imap.html#imapmenu">ImapMenu</a></li><li><a href="core.html#include">Include</a></li><li><a href="mod_autoindex.html#indexignore">IndexIgnore</a></li><li><a href="mod_autoindex.html#indexoptions">IndexOptions</a></li><li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li><li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li><li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li><li><a href="mod_isapi.html#isapifilechache">ISAPIFileChache</a></li><li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li><li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li><li><a href="core.html#keepalive">KeepAlive</a></li><li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a></li><li><a href="mod_negotiation.html#languagepriority">LanguagePriority</a></li><li><a href="core.html#limit">Limit</a></li><li><a href="core.html#limitexcept">LimitExcept</a></li><li><a href="core.html#limitrequestbody">LimitRequestBody</a></li><li><a href="core.html#limitrequestfields">LimitRequestFields</a></li><li><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize</a></li><li><a href="core.html#limitrequestline">LimitRequestLine</a></li><li><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBackLog</a></li><li><a href="mod_so.html#loadfile">LoadFile</a></li><li><a href="mod_so.html#loadmodule">LoadModule</a></li><li><a href="core.html#location">Location</a></li><li><a href="core.html#locationmatch">LocationMatch</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mod_log_config.html#logformat">LogFormat</a></li><li><a href="core.html#loglevel">LogLevel</a></li><li><a href="mpm_common.html#maxclients">MaxClients</a></li><li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="prefork.html#maxspareservers">MaxSpareServers</a></li><li><a href="mpm_netware.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_netware.html#maxthreads">MaxThreads</a></li><li><a href="mpm_common.html#maxthreadsperchild">MaxThreadsPerChild</a></li><li><a href="mod_cern_meta.html#metadir">MetaDir</a></li><li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li><li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li><li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li><li><a href="prefork.html#minspareservers">MinSpareServers</a></li><li><a href="mpm_netware.html#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li><li><a href="mod_file_cache.html#mmapfile">MMapFile</a></li><li><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch</a></li><li><a href="core.html#namevirtualhost">NameVirtualHost</a></li><li><a href="mod_proxy.html#noproxy">NoProxy</a></li><li><a href="mpm_common.html#numservers">NumServers</a></li><li><a href="core.html#options">Options</a></li><li><a href="mod_access.html#order">Order</a></li><li><a href="mod_env.html#passenv">PassEnv</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li><li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li><li><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></li><li><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards</a></li><li><a href="mod_proxy.html#proxypass">ProxyPass</a></li><li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li><li><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost</a></li><li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li><li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li><li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a></li><li><a href="mod_proxy.html#proxytimeout">ProxyTimeout</a></li><li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li><li><a href="mod_autoindex.html#readmename">ReadmeName</a></li><li><a href="mod_alias.html#redirect">Redirect</a></li><li><a href="mod_alias.html#redirectmatch">RedirectMatch</a></li><li><a href="mod_alias.html#redirectpermanent">RedirectPermanent</a></li><li><a href="mod_alias.html#redirecttemp">RedirectTemp</a></li><li><a href="mod_mime.html#removecharset">RemoveCharset</a></li><li><a href="mod_mime.html#removeencoding">RemoveEncoding</a></li><li><a href="mod_mime.html#removehandler">RemoveHandler</a></li><li><a href="mod_mime.html#removeinputfilter">RemoveInputFilter</a></li><li><a href="mod_mime.html#removelanguage">RemoveLanguage</a></li><li><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></li><li><a href="mod_mime.html#removetype">RemoveType</a></li><li><a href="mod_headers.html#requestheader">RequestHeader</a></li><li><a href="core.html#require">Require</a></li><li><a href="mod_rewrite.html#rewritebase">RewriteBase</a></li><li><a href="mod_rewrite.html#rewritecond">RewriteCond</a></li><li><a href="mod_rewrite.html#rewriteengine">RewriteEngine</a></li><li><a href="mod_rewrite.html#rewritelock">RewriteLock</a></li><li><a href="mod_rewrite.html#rewritelog">RewriteLog</a></li><li><a href="mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></li><li><a href="mod_rewrite.html#rewritemap">RewriteMap</a></li><li><a href="mod_rewrite.html#rewriteoptions">RewriteOptions</a></li><li><a href="mod_rewrite.html#rewriterule">RewriteRule</a></li><li><a href="core.html#rlimitcpu">RLimitCPU</a></li><li><a href="core.html#rlimitmem">RLimitMEM</a></li><li><a href="core.html#rlimitnproc">RLimitNPROC</a></li><li><a href="core.html#satisfy">Satisfy</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mod_actions.html#script">Script</a></li><li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li><li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li><li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li><li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li><li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li><li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li><li><a href="mod_cgid.html#scriptsock">ScriptSock</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="core.html#serveradmin">ServerAdmin</a></li><li><a href="core.html#serveralias">ServerAlias</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="core.html#servername">ServerName</a></li><li><a href="core.html#serverpath">ServerPath</a></li><li><a href="core.html#serverroot">ServerRoot</a></li><li><a href="core.html#serversignature">ServerSignature</a></li><li><a href="core.html#servertokens">ServerTokens</a></li><li><a href="mod_env.html#setenv">SetEnv</a></li><li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li><li><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></li><li><a href="core.html#sethandler">SetHandler</a></li><li><a href="core.html#setinputfilter">SetInputFilter</a></li><li><a href="core.html#setoutputfilter">SetOutputFilter</a></li><li><a href="mod_include.html#ssiendtag">SSIEndTag</a></li><li><a href="mod_include.html#ssierrormsg">SSIErrorMsg</a></li><li><a href="mod_include.html#ssistarttag">SSIStartTag</a></li><li><a href="mod_include.html#ssitimeformat">SSITimeFormat</a></li><li><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho</a></li><li><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile</a></li><li><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath</a></li><li><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile</a></li><li><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath</a></li><li><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></li><li><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></li><li><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></li><li><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite</a></li><li><a href="mod_ssl.html#sslengine">SSLEngine</a></li><li><a href="mod_ssl.html#sslmutex">SSLMutex</a></li><li><a href="mod_ssl.html#ssloptions">SSLOptions</a></li><li><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog</a></li><li><a href="mod_ssl.html#sslprotocol">SSLProtocol</a></li><li><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed</a></li><li><a href="mod_ssl.html#sslrequire">SSLRequire</a></li><li><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></li><li><a href="mod_ssl.html#sslsessioncache">SSLSessionCache</a></li><li><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li><li><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient</a></li><li><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_netware.html#startthreads">StartThreads</a></li><li><a href="mpm_common.html#startthreads">StartThreads</a></li><li><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup</a></li><li><a href="mpm_common.html#threadlimit">ThreadLimit</a></li><li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li><li><a href="mpm_netware.html#threadstacksize">ThreadStackSize</a></li><li><a href="core.html#timeout">TimeOut</a></li><li><a href="mod_log_config.html#transferlog">TransferLog</a></li><li><a href="mod_mime.html#typesconfig">TypesConfig</a></li><li><a href="mod_env.html#unsetenv">UnsetEnv</a></li><li><a href="core.html#usecanonicalname">UseCanonicalName</a></li><li><a href="mpm_common.html#user">User</a></li><li><a href="mod_userdir.html#userdir">UserDir</a></li><li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li><li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li><li><a href="core.html#virtualhost">VirtualHost</a></li><li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li><li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li><li><a href="mod_include.html#xbithack">XBitHack</a></li></ul></blockquote><hr/><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
- <hr />
-
- <h3 align="CENTER">Apache HTTP Server Version 2.0</h3>
- <a href="./"><img src="../images/index.gif" alt="Index" /></a>
- <a href="../"><img src="../images/home.gif" alt="Home" /></a>
-
+++ /dev/null
- <div align="CENTER">
- <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
-
- <h3>Apache HTTP Server Version 2.0</h3>
- </div>
-
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Apache modules</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Apache modules</h1>
-
- <p>Below is a list of all of the modules that come as part of
- the Apache distribution. See also the list of modules <a
- href="index.html">sorted alphabetically</a> and the complete
- alphabetical list of <a href="directives.html">all Apache
- directives</a>.</p>
-
- <h2>Core Features and Multi-Processing Modules</h2>
-
- <dl>
- <dt><a href="core.html">core</a></dt>
- <dd>Core Apache HTTP Server features that are always available</dd>
-
- <dt><a href="mpm_common.html">mpm_common</a></dt>
- <dd>A collection of directives that are implemented by more than
- one multi-processing module (MPM)</dd>
-
- <dt><a href="mpm_netware.html">mpm_netware</a></dt>
- <dd>Multi-Processing Module implementing an exclusively threaded web
- server optimized for Novell NetWare</dd>
-
- <dt><a href="mpm_winnt.html">mpm_winnt</a></dt>
- <dd>This Multi-Processing Module is optimized for Windows NT.</dd>
-
- <dt><a href="perchild.html">perchild</a></dt>
- <dd>Multi-Processing Module allowing for daemon processes
- serving requests to be assigned a variety of different
- userids</dd>
-
- <dt><a href="prefork.html">prefork</a></dt>
- <dd>Implements a non-threaded, pre-forking web server</dd>
-
- <dt><a href="worker.html">worker</a></dt>
- <dd>Multi-Processing Module implementing a hybrid
- multi-threaded multi-process web server</dd>
- </dl>
-
- <h2>Environment Creation</h2>
-
- <dl>
- <dt><a href="mod_env.html">mod_env</a></dt>
-
- <dd>Passing of environments to CGI scripts</dd>
-
- <dt><a href="mod_setenvif.html">mod_setenvif</a></dt>
-
- <dd>Set environment variables based on client
- information</dd>
-
- <dt><a href="mod_unique_id.html">mod_unique_id</a></dt>
-
- <dd>Generate unique request identifier for every request</dd>
- </dl>
-
- <h2>Content Type Decisions</h2>
-
- <dl>
- <dt><a href="mod_mime.html">mod_mime</a></dt>
-
- <dd>Determining document types using file extensions.</dd>
-
- <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
-
- <dd>Determining document types using "magic numbers".</dd>
-
- <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
-
- <dd>Content negotiation.</dd>
-
- <dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt>
-
- <dd>Configuring character set translation.</dd>
- </dl>
-
- <h2>URL Mapping</h2>
-
- <dl>
- <dt><a href="mod_alias.html">mod_alias</a></dt>
-
- <dd>Mapping different parts of the host filesystem in the
- document tree, and URL redirection.</dd>
-
- <dt><a href="mod_rewrite.html">mod_rewrite</a></dt>
-
- <dd>Powerful URI-to-filename mapping using regular
- expressions</dd>
-
- <dt><a href="mod_userdir.html">mod_userdir</a></dt>
-
- <dd>User home directories.</dd>
-
- <dt><a href="mod_speling.html">mod_speling</a></dt>
-
- <dd>Automatically correct minor typos in URLs</dd>
-
- <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt>
-
- <dd>Support for dynamically configured mass virtual
- hosting</dd>
- </dl>
-
- <h2>Directory Handling</h2>
-
- <dl>
- <dt><a href="mod_dir.html">mod_dir</a></dt>
-
- <dd>Basic directory handling.</dd>
-
- <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
-
- <dd>Automatic directory listings.</dd>
- </dl>
-
- <h2>Access Control</h2>
-
- <dl>
- <dt><a href="mod_access.html">mod_access</a></dt>
-
- <dd>Access control based on client hostname or IP
- address.</dd>
-
- <dt><a href="mod_auth.html">mod_auth</a></dt>
-
- <dd>User authentication using text files.</dd>
-
- <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
-
- <dd>User authentication using DBM files.</dd>
-
- <dt><a href="mod_auth_anon.html">mod_auth_anon</a></dt>
-
- <dd>Anonymous user access to authenticated areas.</dd>
-
- <dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt>
-
- <dd>MD5 authentication</dd>
-
- <dt><a href="mod_auth_ldap.html">mod_auth_ldap</a></dt>
-
- <dd>User authentication using LDAP.</dd>
- </dl>
-
- <h2>HTTP Response</h2>
-
- <dl>
- <dt><a href="mod_headers.html">mod_headers</a></dt>
-
- <dd>Add arbitrary HTTP headers to resources</dd>
-
- <dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt>
-
- <dd>Support for HTTP header metafiles.</dd>
-
- <dt><a href="mod_expires.html">mod_expires</a></dt>
-
- <dd>Apply Expires: headers to resources</dd>
-
- <dt><a href="mod_asis.html">mod_asis</a></dt>
-
- <dd>Sending files which contain their own HTTP headers.</dd>
- </dl>
-
- <h2>Dynamic Content</h2>
-
- <dl>
- <dt><a href="mod_include.html">mod_include</a></dt>
-
- <dd>Server-parsed documents.</dd>
-
- <dt><a href="mod_cgi.html">mod_cgi</a></dt>
-
- <dd>Invoking CGI scripts.</dd>
-
- <dt><a href="mod_cgid.html">mod_cgid</a></dt>
-
- <dd>Invoking CGI scripts using an external daemon.</dd>
-
- <dt><a href="mod_actions.html">mod_actions</a></dt>
-
- <dd>Executing CGI scripts based on media type or request
- method.</dd>
-
- <dt><a href="mod_isapi.html">mod_isapi</a></dt>
-
- <dd>Windows ISAPI Extension support</dd>
-
- <dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt>
-
- <dd>Filtering content with external programs.</dd>
-
- <dt><a href="mod_suexec.html">mod_suexec</a></dt>
-
- <dd>Run CGI requests as a specified user and group.</dd>
- </dl>
-
- <h2>Internal Content Handlers</h2>
-
- <dl>
- <dt><a href="mod_status.html">mod_status</a></dt>
-
- <dd>Server status display</dd>
-
- <dt><a href="mod_info.html">mod_info</a></dt>
-
- <dd>Server configuration information</dd>
- </dl>
-
- <h2>Logging</h2>
-
- <dl>
- <dt><a href="mod_log_config.html">mod_log_config</a></dt>
-
- <dd>User-configurable logging replacement for
- mod_log_common.</dd>
-
- <dt><a href="mod_usertrack.html">mod_usertrack</a></dt>
-
- <dd>User tracking using Cookies</dd>
- </dl>
-
- <h2>Miscellaneous</h2>
-
- <dl>
- <dt><a href="mod_imap.html">mod_imap</a></dt>
-
- <dd>The imagemap file handler.</dd>
-
- <dt><a href="mod_proxy.html">mod_proxy</a></dt>
-
- <dd>Caching proxy abilities</dd>
-
- <dt><a href="mod_so.html">mod_so</a></dt>
-
- <dd>Support for loading modules at runtime</dd>
-
- <dt><a href="mod_file_cache.html">mod_file_cache</a></dt>
-
- <dd>Caching files in memory for faster serving.</dd>
-
- <dt><a href="mod_cache.html">mod_cache</a></dt>
-
- <dd>Content cache keyed to URIs</dd>
-
- <dt><a href="mod_dav.html">mod_dav</a></dt>
-
- <dd>Class 1,2 <a href="http://www.webdav.org">WebDAV</a> HTTP
- extensions</dd>
-
- <dt><a href="mod_deflate.html">mod_deflate</a></dt>
-
- <dd>Compression of content</dd>
-
- <dt><a href="mod_ssl.html">mod_ssl</a></dt>
-
- <dd>strong cryptography using the Secure Sockets Layer (SSL) and
- Transport Layer Security (TLS) protocols</dt>
-
- <dt><a href="mod_ldap.html">mod_ldap</a></dt>
-
- <dd>LDAP connection pool and shared memory cache.</dd>
- </dl>
-
- <h2>Development</h2>
-
- <dl>
- <dt><a href="mod_example.html">mod_example</a></dt>
-
- <dd>Demonstrates Apache API</dd>
- </dl>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><title>Module Index- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Module Index</h1>
- <p>
- Below is a list of all of the modules that come as part of
- the Apache distribution. See also the complete
- alphabetical list of <a href="directives.html">all Apache
- directives</a>.
- </p>
- <h2>Core Features and Multi-Processing Modules</h2><dl><dt><a href="core.html">core</a></dt><dd>Core Apache HTTP Server features that are always
-available</dd><dt><a href="mpm_common.html">mpm_common</a></dt><dd>A collection of directives that are implemented by
-more than one multi-processing module (MPM)</dd><dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Multi-Processing Module implementing an exclusively threaded web
- server optimized for Novell NetWare</dd><dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>This Multi-Processing Module is optimized for Windows
- NT.</dd><dt><a href="perchild.html">perchild</a></dt><dd>Multi-Processing Module allowing for daemon processes
- serving requests to be assigned a variety of different
- userids</dd><dt><a href="prefork.html">prefork</a></dt><dd>Implements a non-threaded, pre-forking web server</dd><dt><a href="worker.html">worker</a></dt><dd>Multi-Processing Module implementing a hybrid
- multi-threaded multi-process web server</dd></dl><h2>Other Modules</h2><dl><dt><a href="mod_access.html">mod_access</a></dt><dd>Provides access control based on client hostname, IP
-address, or other characteristics of the client request.</dd><dt><a href="mod_actions.html">mod_actions</a></dt><dd>This module provides for executing CGI scripts based on
-media type or request method.</dd><dt><a href="mod_alias.html">mod_alias</a></dt><dd>Provides for mapping different parts of the host
- filesystem in the document tree and for URL redirection</dd><dt><a href="mod_asis.html">mod_asis</a></dt><dd>Sends files that contain their own
-HTTP headers</dd><dt><a href="mod_auth.html">mod_auth</a></dt><dd>User authentication using text files</dd><dt><a href="mod_auth_anon.html">mod_auth_anon</a></dt><dd>Allows "anonymous" user access to authenticated
- areas</dd><dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt><dd>Provides for user authentication using DBM
- files</dd><dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>User authentication using MD5
- Digest Authentication.</dd><dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Generates directory indexes,
- automatically, similar to the Unix <em>ls</em> command or the
- Win32 <em>dir</em> shell command</dd><dt><a href="mod_cache.html">mod_cache</a></dt><dd>Content cache keyed to URIs</dd><dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>CERN httpd metafile semantics</dd><dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Execution of CGI scripts</dd><dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Execution of CGI scripts using an
- external CGI daemon</dd><dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Specify character set translation or recoding</dd><dt><a href="mod_dav.html">mod_dav</a></dt><dd>Distributed Authoring and Versioning
-(<a href="http://www.webdav.org/">WebDAV</a>) functionality</dd><dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Compress content before
- it is delivered to the client</dd><dt><a href="mod_dir.html">mod_dir</a></dt><dd>Provides for "trailing slash" redirects and
- serving directory index files</dd><dt><a href="mod_env.html">mod_env</a></dt><dd>Modifies the environment which is
- passed to CGI scripts and SSI pages</dd><dt><a href="mod_example.html">mod_example</a></dt><dd>Illustrates the Apache module API</dd><dt><a href="mod_expires.html">mod_expires</a></dt><dd>Generation of
- <code>Expires</code> HTTP headers according to user-specified
- criteria</dd><dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Pass the response body
- through an external program before delivery to the
- client</dd><dt><a href="mod_file_cache.html">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd><dt><a href="mod_headers.html">mod_headers</a></dt><dd>Customization of HTTP request
- and response headers</dd><dt><a href="mod_imap.html">mod_imap</a></dt><dd>Server-side imagemap processing</dd><dt><a href="mod_include.html">mod_include</a></dt><dd>Server-parsed html documents (Server Side Includes)</dd><dt><a href="mod_info.html">mod_info</a></dt><dd>Provides a comprehensive overview of the server
-configuration</dd><dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>ISAPI Extensions within Apache for Windows</dd><dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Logging of the requests made to the server</dd><dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associates the requested filename's extensions
- with the file's behavior (handlers and filters)
- and content (mime-type, language, character set and
- encoding)</dd><dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Determines the MIME type of a file
- by looking at a few bytes of its contents</dd><dt><a href="mod_negotiation.html">mod_negotiation</a></dt><dd>Provides for <a href="../content-negotiation.html">content negotiation</a></dd><dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>HTTP/1.1 proxy/gateway server</dd><dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Provides a rule-based rewriting engine to rewrite requested
-URLs on the fly</dd><dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Allows the setting of environment variables based
-on characteristics of the request</dd><dt><a href="mod_so.html">mod_so</a></dt><dd>
- This module provides for loading of executable code and
- modules into the server at start-up or restart time.
-</dd><dt><a href="mod_speling.html">mod_speling</a></dt><dd>Attempts to correct mistaken URLs that
-users might have entered by ignoring capitalization and by
-allowing up to one misspelling</dd><dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Strong cryptography using the Secure Sockets
-Layer (SSL) and Transport Layer Security (TLS) protocols</dd><dt><a href="mod_status.html">mod_status</a></dt><dd>Provides information on server activity and
-performance</dd><dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Allows CGI scripts to run as a specified user
-and Group</dd><dt><a href="mod_unique_id.html">mod_unique_id</a></dt><dd>Provides an environment variable with a unique
-identifier for each request</dd><dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Provides for user-specific
-directories</dd><dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd>
- This module uses cookies to provide for a
- <em>clickstream</em> log of user activity on a site.
-</dd><dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Provides for <a href="../vhosts/mass.html">dynamically configured mass virtual
-hosting</a></dd></dl></blockquote><hr/><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Apache module mod_foo</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="center">Module mod_foo</h1>
- The module mod_foo should be summarized in a sentence or two
- here. A more complete summary is below, so keep it short. You
- might say something about what is necessary to enable the
- functionality, and link to the relevant doc. See <a
- href="mod_autoindex.html"><code>mod_autoindex</code></a> as a
- good example.
-
- <p><a href="module-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Base<br />
- <a href="module-dict.html#SourceFile"
- rel="Help"><strong>Source File:</strong></a>
- mod_autoindex.c<br />
- <a href="module-dict.html#ModuleIdentifier"
- rel="Help"><strong>Module Identifier:</strong></a>
- foo_module</p>
-
- <h2>Summary</h2>
- A more detailed summary goes here, but it should still be kept
- to a few short paragraphs. More detailed discussion of the
- finer points of the module should be left for below.
-
- <h2>Directives</h2>
-
- <ul>
- <li><a href="#directive1">Directive1</a></li>
-
- <li><a href="#directive2">Directive2</a></li>
-
- <li><a href="#directive3">Directive3</a></li>
- </ul>
-
- <p>See also: <a href="core.html#options">Options</a> and <a
- href="mod_dir.html#directoryindex">DirectoryIndex</a>.</p>
-
- <h2>More detailed discussion one</h2>
-
- <p>Here you can discuss in detail a particular point of
- interest, or something which requires a detailed explanation.
- This is a good place for examples and tutorial-style
- discussion.</p>
-
- <h2>Detailed discussion two</h2>
-
- <p>You can have more than one such discussion, if
- appropriate.</p>
- <hr />
-
- <h2><a id="directive1" name="directive1">Directive1</a>
- directive</h2>
- <a href="directive-dict.html#Syntax"
- rel="Help"><strong>Syntax:</strong></a> Directive 1
- <em>argument</em> [<em>optional_argument</em>] ...<br />
- <a href="directive-dict.html#Context"
- rel="Help"><strong>Context:</strong></a> server config, virtual
- host, directory, .htaccess<br />
- <a href="directive-dict.html#Override"
- rel="Help"><strong>Override:</strong></a> Indexes<br />
- <a href="directive-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Base<br />
- <a href="directive-dict.html#Module"
- rel="Help"><strong>Module:</strong></a> mod_foo
-
- <p><em>Directive1</em> will be described in detail here. Each
- argument should be explained, with example values.</p>
- <hr />
-
- <h2><a id="directive2" name="directive2">Directive2</a>
- directive</h2>
- <a href="directive-dict.html#Syntax"
- rel="Help"><strong>Syntax:</strong></a> Directive2
- <em>argument</em> [<em>optional_argument</em>] ...<br />
- <a href="directive-dict.html#Context"
- rel="Help"><strong>Context:</strong></a> server config, virtual
- host, directory, .htaccess<br />
- <a href="directive-dict.html#Override"
- rel="Help"><strong>Override:</strong></a> Indexes<br />
- <a href="directive-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Base<br />
- <a href="directive-dict.html#Module"
- rel="Help"><strong>Module:</strong></a> mod_foo
-
- <p><em>Directive2</em> should then be described in the same
- manner.</p>
- <hr />
-
- <h2><a id="directive3" name="directive3">Directive3</a>
- directive</h2>
- <a href="directive-dict.html#Syntax"
- rel="Help"><strong>Syntax:</strong></a> Directive3
- <em>argument</em> [<em>optional_argument</em>] ...<br />
- <a href="directive-dict.html#Context"
- rel="Help"><strong>Context:</strong></a> server config, virtual
- host, directory, .htaccess<br />
- <a href="directive-dict.html#Override"
- rel="Help"><strong>Override:</strong></a> Indexes<br />
- <a href="directive-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Base<br />
- <a href="directive-dict.html#Module"
- rel="Help"><strong>Module:</strong></a> mod_foo
-
- <p><em>Directive3</em> is described here, and so on.
- <!--#include virtual="footer.html" -->
- </p>
- </body>
-</html>
-
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_access- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_access</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides access control based on client hostname, IP
-address, or other characteristics of the client request.</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>access_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>The directives provided by mod_access are used in <a href="core.html#directory" class="directive"><code class="directive"><Directory></code></a>, <a href="core.html#files" class="directive"><code class="directive"><Files></code></a>, and <a href="core.html#location" class="directive"><code class="directive"><Location></code></a> sections as well as
- <code><a href="core.html#accessfilename">.htaccess</a></code>
- files to control access to particular parts of the server. Access
- can be controlled based on the client hostname, IP address, or
- other characteristics of the client request, as captured in <a href="../env.html">environment variables</a>. The <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives are used to
- specify which clients are or are not allowed access to the server,
- while the <a href="#order" class="directive"><code class="directive">Order</code></a>
- directive sets the default access state, and configures how the
- <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives interact with each
- other.</p>
-
- <p>Both host-based access restrictions and password-based
- authentication may be implemented simultaneously. In that case,
- the <a href="core.html#satisfy" class="directive"><code class="directive">Satisfy</code></a> directive is used
- to determine how the two sets of restrictions interact.</p>
-
- <p>In general, access restriction directives apply to all
- access methods (<code>GET</code>, <code>PUT</code>,
- <code>POST</code>, etc). This is the desired behavior in most
- cases. However, it is possible to restrict some methods, while
- leaving other methods unrestricted, by enclosing the directives
- in a <a href="core.html#limit" class="directive"><code class="directive"><Limit></code></a> section.</p>
-<h2>Directives</h2><ul><li><a href="#allow">Allow</a></li><li><a href="#deny">Deny</a></li><li><a href="#order">Order</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#satisfy" class="directive"><code class="directive">Satisfy</code></a></li><li><a href="core.html#require" class="directive"><code class="directive">Require</code></a></li></ul><hr/><h2><a name="Allow">Allow</a> <a name="allow">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls which hosts can access an area of the
-server</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> Allow from
- all|<em>host</em>|env=<em>env-variable</em>
- [<em>host</em>|env=<em>env-variable</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Limit</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_access</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">Allow</code> directive affects which hosts can
- access an area of the server. Access can be controlled by
- hostname, IP Address, IP Address range, or by other
- characteristics of the client request captured in environment
- variables.</p>
-
- <p>The first argument to this directive is always
- <code>from</code>. The subsequent arguments can take three
- different forms. If <code>Allow from all</code> is specified, then
- all hosts are allowed access, subject to the configuration of the
- <a href="#deny" class="directive"><code class="directive">Deny</code></a> and <a href="#order" class="directive"><code class="directive">Order</code></a> directives as discussed
- below. To allow only particular hosts or groups of hosts to access
- the server, the <em>host</em> can be specified in any of the
- following formats:</p>
-
- <dl>
- <dt>A (partial) domain-name</dt>
-
- <dd>Example: <code>Allow from apache.org</code><br>
- Hosts whose names match, or end in, this string are allowed
- access. Only complete components are matched, so the above
- example will match <code>foo.apache.org</code> but it will
- not match <code>fooapache.org</code>. This configuration will
- cause the server to perform a reverse DNS lookup on the
- client IP address, regardless of the setting of the <a href="core.html#hostnamelookups" class="directive"><code class="directive">HostnameLookups</code></a>
- directive.</dd>
-
- <dt>A full IP address</dt>
-
- <dd>Example: <code>Allow from 10.1.2.3</code><br>
- An IP address of a host allowed access</dd>
-
- <dt>A partial IP address</dt>
-
- <dd>Example: <code>Allow from 10.1</code><br>
- The first 1 to 3 bytes of an IP address, for subnet
- restriction.</dd>
-
- <dt>A network/netmask pair</dt>
-
- <dd>Example: <code>Allow from
- 10.1.0.0/255.255.0.0</code><br>
- A network a.b.c.d, and a netmask w.x.y.z. For more
- fine-grained subnet restriction.</dd>
-
- <dt>A network/nnn CIDR specification</dt>
-
- <dd>Example: <code>Allow from 10.1.0.0/16</code><br>
- Similar to the previous case, except the netmask consists of
- nnn high-order 1 bits.</dd>
- </dl>
-
- <p>Note that the last three examples above match exactly the
- same set of hosts.</p>
-
- <p>IPv6 addresses and IPv6 subnets can be specified as shown
- below:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Allow from fe80::a00:20ff:fea7:ccea<br>
- Allow from fe80::a00:20ff:fea7:ccea/10
- </code></td></tr></table></blockquote>
-
- <p>The third format of the arguments to the
- <code class="directive">Allow</code> directive allows access to the server
- to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Allow from
- env=</code><em>env-variable</em> is specified, then the request is
- allowed access if the environment variable <em>env-variable</em>
- exists. The server provides the ability to set environment
- variables in a flexible way based on characteristics of the client
- request using the directives provided by
- <code><a href="mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be
- used to allow access based on such factors as the clients
- <code>User-Agent</code> (browser type), <code>Referer</code>, or
- other HTTP request header fields.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example:</strong></p><code>
-
-SetEnvIf User-Agent ^KnockKnock/2.0 let_me_in<br>
-<Directory /docroot><br>
- Order Deny,Allow<br>
- Deny from all<br>
- Allow from env=let_me_in<br>
-</Directory>
-</code></td></tr></table></blockquote>
-
- <p>In this case, browsers with a user-agent string beginning
- with <code>KnockKnock/2.0</code> will be allowed access, and all
- others will be denied.</p>
-<hr/><h2><a name="Deny">Deny</a> <a name="deny">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls which hosts are denied access to the
-server</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> Deny from
- all|<em>host</em>|env=<em>env-variable</em>
- [<em>host</em>|env=<em>env-variable</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Limit</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_access</td></tr></table></td></tr></table>
- <p>This directive allows access to the server to be restricted
- based on hostname, IP address, or environment variables. The
- arguments for the <code class="directive">Deny</code> directive are
- identical to the arguments for the <a href="#allow" class="directive"><code class="directive">Allow</code></a> directive.</p>
-<hr/><h2><a name="Order">Order</a> <a name="order">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls the default access state and the order in which
-Allow and Deny are
-evaluated.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> Order <em>ordering</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Order Deny,Allow</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Limit</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_access</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">Order</code> directive controls the default
- access state and the order in which <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives are evaluated.
- <em>Ordering</em> is one of</p>
-
- <dl>
- <dt>Deny,Allow</dt>
-
- <dd>The <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives
- are evaluated before the <a href="#allow" class="directive"><code class="directive">Allow</code></a> directives. Access is
- allowed by default. Any client which does not match a
- <a href="#deny" class="directive"><code class="directive">Deny</code></a> directive or does
- match an <a href="#allow" class="directive"><code class="directive">Allow</code></a>
- directive will be allowed access to the server.</dd>
-
- <dt>Allow,Deny</dt>
-
- <dd>The <a href="#allow" class="directive"><code class="directive">Allow</code></a>
- directives are evaluated before the <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives. Access is denied
- by default. Any client which does not match an <a href="#allow" class="directive"><code class="directive">Allow</code></a> directive or does match a
- <a href="#deny" class="directive"><code class="directive">Deny</code></a> directive will be
- denied access to the server.</dd>
-
- <dt>Mutual-failure</dt>
-
- <dd>Only those hosts which appear on the <a href="#allow" class="directive"><code class="directive">Allow</code></a> list and do not appear on
- the <a href="#deny" class="directive"><code class="directive">Deny</code></a> list are
- granted access. This ordering has the same effect as <code>Order
- Allow,Deny</code> and is deprecated in favor of that
- configuration.</dd>
- </dl>
-
- <p>Keywords may only be separated by a comma; no whitespace is
- allowed between them. Note that in all cases every <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#deny" class="directive"><code class="directive">Deny</code></a> statement is evaluated.</p>
-
- <p>In the following example, all hosts in the apache.org domain
- are allowed access; all other hosts are denied access.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Order Deny,Allow<br>
- Deny from all<br>
- Allow from apache.org<br>
-</code></td></tr></table></blockquote>
-
- <p>In the next example, all hosts in the apache.org domain are
- allowed access, except for the hosts which are in the
- foo.apache.org subdomain, who are denied access. All hosts not
- in the apache.org domain are denied access because the default
- state is to deny access to the server.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Order Allow,Deny<br>
- Allow from apache.org<br>
- Deny from foo.apache.org<br>
-</code></td></tr></table></blockquote>
-
- <p>On the other hand, if the <code>Order</code> in the last
- example is changed to <code>Deny,Allow</code>, all hosts will
- be allowed access. This happens because, regardless of the
- actual ordering of the directives in the configuration file,
- the <code>Allow from apache.org</code> will be evaluated last
- and will override the <code>Deny from foo.apache.org</code>.
- All hosts not in the <code>apache.org</code> domain will also
- be allowed access because the default state will change to
- <em>allow</em>.</p>
-
- <p>The presence of an <code>Order</code> directive can affect
- access to a part of the server even in the absence of accompanying
- <a href="#allow" class="directive"><code class="directive">Allow</code></a> and <a href="#deny" class="directive"><code class="directive">Deny</code></a> directives because of its effect
- on the default access state. For example,</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Directory /www><br>
- Order Allow,Deny<br>
- </Directory>
-</code></td></tr></table></blockquote>
-
- <p>will deny all access to the <code>/www</code> directory
- because the default access state will be set to
- <em>deny</em>.</p>
-
- <p>The <code class="directive">Order</code> directive controls the order of access
- directive processing only within each phase of the server's
- configuration processing. This implies, for example, that an
- <a href="#allow" class="directive"><code class="directive">Allow</code></a> or <a href="#deny" class="directive"><code class="directive">Deny</code></a> directive occurring in a
- <a href="core.html#location" class="directive"><code class="directive"><Location></code></a> section will
- always be evaluated after an <a href="#allow" class="directive"><code class="directive">Allow</code></a> or <a href="#deny" class="directive"><code class="directive">Deny</code></a> directive occurring in a
- <a href="core.html#directory" class="directive"><code class="directive"><Directory></code></a> section or
- <code>.htaccess</code> file, regardless of the setting of the
- <code class="directive">Order</code> directive. For details on the merging
- of configuration sections, see the documentation on <a href="../sections.html">How Directory, Location and Files sections
- work</a>.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_actions- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_actions</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>This module provides for executing CGI scripts based on
-media type or request method.</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>actions_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module has two directives. The <a href="#action" class="directive"><code class="directive">Action</code></a> directive lets you run CGI
- scripts whenever a file of a certain type is requested. The
- <a href="#script" class="directive"><code class="directive">Script</code></a> directive lets
- you run CGI scripts whenever a particular method is used in a
- request. This makes it much easier to execute scripts that process
- files.</p>
-<h2>Directives</h2><ul><li><a href="#action">Action</a></li><li><a href="#script">Script</a></li></ul><hr/><h2><a name="Action">Action</a> <a name="action">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Activates a CGI script for a particular handler or
-content-type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Action <em>action-type cgi-script</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_actions</td></tr></table></td></tr></table>
- <p>This directive adds an action, which will activate
- <em>cgi-script</em> when <em>action-type</em> is triggered by the
- request. The <em>cgi-script</em> is the URL-path to a resource
- that has been designated as a CGI script using <a href="mod_alias.html#scriptaliase" class="directive"><code class="directive">ScriptAliase</code></a> or <a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a>. The
- <em>action-type</em> can be either a <a href="../handler.html">handler</a> or a MIME content type. It
- sends the URL and file path of the requested document using the
- standard CGI PATH_INFO and PATH_TRANSLATED environment
- variables.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Examples</strong></p><code>
-
-
- # Requests for files of a particular type:<br>
- Action image/gif /cgi-bin/images.cgi<br>
-<br>
- # Files of a particular file extension<br>
- AddHandler my-file-type .xyz<br>
- Action my-file-type /cgi-bin/program.cgi<br>
-</code></td></tr></table></blockquote>
-
- <p>In the first example, requests for files with a MIME content
- type of <code>image/gif</code> will instead be handled by the
- specified cgi script <code>/cgi-bin/images.cgi</code>.</p>
-
- <p>In the second example, requests for files with a file extension of
- <code>.xyz</code> are handled instead by the specified cgi script
- <code>/cgi-bin/program.cgi</code>.</p>
-<p><strong>See also </strong></p><ul><li><a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a></li></ul><hr/><h2><a name="Script">Script</a> <a name="script">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Activates a CGI script for a particular request
-method.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> Script <em>method cgi-script</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_actions</td></tr></table></td></tr></table>
- <p>This directive adds an action, which will activate
- <em>cgi-script</em> when a file is requested using the method of
- <em>method</em>. The <em>cgi-script</em> is the URL-path to a
- resource that has been designated as a CGI script using <a href="mod_alias.html#scriptaliase" class="directive"><code class="directive">ScriptAliase</code></a> or <a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a>. The URL and
- file path of the requested document is sent using the standard CGI
- PATH_INFO and PATH_TRANSLATED environment variables.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- Any arbitrary method name may be used. <strong>Method names are
- case-sensitive</strong>, so <code>Script PUT</code> and
- <code>Script put</code> have two entirely different
- effects.
-</td></tr></table></blockquote>
-
- <p>Note that the Script command defines default actions only.
- If a CGI script is called, or some other resource that is
- capable of handling the requested method internally, it will do
- so. Also note that Script with a method of <code>GET</code>
- will only be called if there are query arguments present
- (<em>e.g.</em>, foo.html?hi). Otherwise, the request will
- proceed normally.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Examples</strong></p><code>
-
- # For <ISINDEX>-style searching<br>
- Script GET /cgi-bin/search<br>
- # A CGI PUT handler<br>
- Script PUT /~bob/put.cgi<br>
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_alias- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_alias</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for mapping different parts of the host
- filesystem in the document tree and for URL redirection</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>alias_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>The directives contained in this module allow for manipulation
- and control of URLs as requests arrive at the server. The
- <a href="#alias" class="directive"><code class="directive">Alias</code></a> and <a href="#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a> directives are used to
- map between URLs and filesystem paths. This allows for content
- which is not directly under the <a href="core.html#documentroot" class="directive"><code class="directive">DocumentRoot</code></a> served as part of the web
- document tree. The <a href="#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a> directive has the
- additional effect of marking the target directory as containing
- only CGI scripts.</p>
-
- <p>The <a href="#redirect" class="directive"><code class="directive">Redirect</code></a>
- directives are used to instruct clients to make a new request with
- a different URL. They are often used when a resource has moved to
- a new location.</p>
-<h2>Directives</h2><ul><li><a href="#alias">Alias</a></li><li><a href="#aliasmatch">AliasMatch</a></li><li><a href="#redirect">Redirect</a></li><li><a href="#redirectmatch">RedirectMatch</a></li><li><a href="#redirectpermanent">RedirectPermanent</a></li><li><a href="#redirecttemp">RedirectTemp</a></li><li><a href="#scriptalias">ScriptAlias</a></li><li><a href="#scriptaliasmatch">ScriptAliasMatch</a></li></ul><p><strong>See also </strong></p><ul><li><code><a href="mod_rewrite.html">mod_rewrite</a></code></li><li><a href="../urlmapping.html">Mapping URLs to the filesystem</a></li></ul><hr/><h2><a name="Alias">Alias</a> <a name="alias">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps URLs to filesystem locations</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> Alias <em>URL-path
- file-path</em>|<em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">Alias</code> directive allows documents to
- be stored in the local filesystem other than under the
- <a href="core.html#documentroot" class="directive"><code class="directive">DocumentRoot</code></a>. URLs with a
- (%-decoded) path beginning with <em>url-path</em> will be mapped
- to local files beginning with <em>directory-filename</em>.</p>
-
- <p>Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Alias /image /ftp/pub/image</code></td></tr></table></blockquote>
-
- <p>A request for http://myserver/image/foo.gif would cause the
- server to return the file /ftp/pub/image/foo.gif.</p>
-
- <p>Note that if you include a trailing / on the
- <em>url-path</em> then the server will require a trailing / in
- order to expand the alias. That is, if you use <code>Alias
- /icons/ /usr/local/apache/icons/</code> then the url
- <code>/icons</code> will not be aliased.</p>
-
- <p>Note that you may need to specify additional <a href="core.html#<directory>" class="directive"><code class="directive"><Directory></code></a> sections which cover
- the <em>destination</em> of aliases. Aliasing occurs before
- <a href="core.html#<directory>" class="directive"><code class="directive"><Directory></code></a> sections
- are checked, so only the destination of aliases are affected.
- (Note however <a href="core.html#<location>" class="directive"><code class="directive"><Location></code></a>
- sections are run through once before aliases are performed, so
- they will apply.)</p>
-
-<hr/><h2><a name="AliasMatch">AliasMatch</a> <a name="aliasmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps URLs to filesystem locations using regular
-expressions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AliasMatch <em>regex
- file-path</em>|<em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>This directive is equivalent to <a href="#alias" class="directive"><code class="directive">Alias</code></a>, but makes use of standard
- regular expressions, instead of simple prefix matching. The
- supplied regular expression is matched against the URL-path, and
- if it matches, the server will substitute any parenthesized
- matches into the given string and use it as a filename. For
- example, to activate the <code>/icons</code> directory, one might
- use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AliasMatch ^/icons(.*) /usr/local/apache/icons$1
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="Redirect">Redirect</a> <a name="redirect">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sends an external redirect asking the client to fetch
-a different URL</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Redirect [<em>status</em>] <em>URL-path URL</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>The Redirect directive maps an old URL into a new one. The
- new URL is returned to the client which attempts to fetch it
- again with the new address. <em>URL-path</em> a (%-decoded)
- path; any requests for documents beginning with this path will
- be returned a redirect error to a new (%-encoded) URL beginning
- with <em>URL</em>.</p>
-
- <p>Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Redirect /service http://foo2.bar.com/service</code></td></tr></table></blockquote>
-
- <p>If the client requests http://myserver/service/foo.txt, it
- will be told to access http://foo2.bar.com/service/foo.txt
- instead.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p> <p>Redirect directives take precedence over
-Alias and ScriptAlias directives, irrespective of their ordering in
-the configuration file. Also, <em>URL-path</em> must be an absolute
-path, not a relative path, even when used with .htaccess files or
-inside of <a href="core.html#<directory>" class="directive"><code class="directive"><Directory></code></a>
-sections.</p></td></tr></table></blockquote>
-
- <p>If no <em>status</em> argument is given, the redirect will
- be "temporary" (HTTP status 302). This indicates to the client
- that the resource has moved temporarily. The <em>status</em>
- argument can be used to return other HTTP status codes:</p>
-
- <dl>
- <dt>permanent</dt>
-
- <dd>Returns a permanent redirect status (301) indicating that
- the resource has moved permanently.</dd>
-
- <dt>temp</dt>
-
- <dd>Returns a temporary redirect status (302). This is the
- default.</dd>
-
- <dt>seeother</dt>
-
- <dd>Returns a "See Other" status (303) indicating that the
- resource has been replaced.</dd>
-
- <dt>gone</dt>
-
- <dd>Returns a "Gone" status (410) indicating that the
- resource has been permanently removed. When this status is
- used the <em>url</em> argument should be omitted.</dd>
- </dl>
-
- <p>Other status codes can be returned by giving the numeric
- status code as the value of <em>status</em>. If the status is
- between 300 and 399, the <em>url</em> argument must be present,
- otherwise it must be omitted. Note that the status must be
- known to the Apache code (see the function
- <code>send_error_response</code> in http_protocol.c).</p>
-
- <p>Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Redirect permanent /one http://example.com/two<br>
- Redirect 303 /three http://example.com/other
- </code></td></tr></table></blockquote>
-
-<hr/><h2><a name="RedirectMatch">RedirectMatch</a> <a name="redirectmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sends an external redirect asking the client to fetch
-a different URL based on a regular expression match of the
-current URL</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RedirectMatch [<em>status</em>] <em>regex URL</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>This directive is equivalent to <a href="#redirect" class="directive"><code class="directive">Redirect</code></a>, but makes use of standard
- regular expressions, instead of simple prefix matching. The
- supplied regular expression is matched against the URL-path, and
- if it matches, the server will substitute any parenthesized
- matches into the given string and use it as a filename. For
- example, to redirect all GIF files to like-named JPEG files on
- another server, one might use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sends an external permanent redirect asking the client to fetch
-a different URL</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RedirectPermanent <em>URL-path URL</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>This directive makes the client know that the Redirect is
- permanent (status 301). Exactly equivalent to <code>Redirect
- permanent</code>.</p>
-<hr/><h2><a name="RedirectTemp">RedirectTemp</a> <a name="redirecttemp">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sends an external temporary redirect asking the client to fetch
-a different URL</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RedirectTemp <em>URL-path URL</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>This directive makes the client know that the Redirect is
- only temporary (status 302). Exactly equivalent to
- <code>Redirect temp</code>.</p>
-<hr/><h2><a name="ScriptAlias">ScriptAlias</a> <a name="scriptalias">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps a URL to a filesystem location and designates the
-target as a CGI script</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptAlias
-<em>URL-path file-path</em>|<em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>The <code class="directive">ScriptAlias</code> directive has the same
- behavior as the <a href="#alias" class="directive"><code class="directive">Alias</code></a>
- directive, except that in addition it marks the target directory
- as containing CGI scripts that will be processed by <code><a href="mod_cgi.html">mod_cgi</a></code>'s cgi-script handler. URLs with a
- (%-decoded) path beginning with <em>URL-path</em> will be mapped
- to scripts beginning with the second argument which is a full
- pathname in the local filesystem.</p>
-
- <p>Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>ScriptAlias /cgi-bin/ /web/cgi-bin/</code></td></tr></table></blockquote>
-
- <p>A request for <code>http://myserver/cgi-bin/foo</code> would cause the
- server to run the script <code>/web/cgi-bin/foo</code>.</p>
-<hr/><h2><a name="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps a URL to a filesystem location using a regular expression
-and designates the target as a CGI script</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptAliasMatch
-<em>regex file-path</em>|<em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_alias</td></tr></table></td></tr></table>
- <p>This directive is equivalent to <a href="#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a>, but makes use of standard
- regular expressions, instead of simple prefix matching. The
- supplied regular expression is matched against the URL-path,
- and if it matches, the server will substitute any parenthesized
- matches into the given string and use it as a filename. For
- example, to activate the standard <code>/cgi-bin</code>, one
- might use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_asis- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_asis</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Sends files that contain their own
-HTTP headers</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>asis_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module provides the handler <code>send-as-is</code>
- which causes Apache to send the document without adding most of
- the usual HTTP headers.</p>
-
- <p>This can be used to send any kind of data from the server,
- including redirects and other special HTTP responses, without
- requiring a cgi-script or an nph script.</p>
-
- <p>For historical reasons, this module will also process any
- file with the mime type <code>httpd/send-as-is</code>.</p>
-<h2>Directives</h2><p/><h2>Usage</h2>
-
- <p>In the server configuration file, associate files with the
- <code>send-as-is</code> handler <em>e.g.</em></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddHandler send-as-is asis</code></td></tr></table></blockquote>
-
- <p>The contents of any file with a <code>.asis</code> extension
- will then be sent by Apache to the client with almost no
- changes. Clients will need HTTP headers to be attached, so do
- not forget them. A Status: header is also required; the data
- should be the 3-digit HTTP response code, followed by a textual
- message.</p>
-
- <p>Here's an example of a file whose contents are sent <em>as
- is</em> so as to tell the client that a file has
- redirected.</p>
-
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Status: 301 Now where did I leave that URL<br>
- Location: http://xyz.abc.com/foo/bar.html<br>
- Content-type: text/html<br>
- <br>
- <HTML><br>
- <HEAD><br>
- <TITLE>Lame excuses'R'us</TITLE><br>
- </HEAD><br>
- <BODY><br>
- <H1>Fred's exceptionally wonderful page has moved
- to<br>
- <A
- HREF="http://xyz.abc.com/foo/bar.html">Joe's</A>
- site.<br>
- </H1><br>
- </BODY><br>
- </HTML>
-</code></td></tr></table></blockquote>
-
- <p>Notes: the server always adds a Date: and Server: header to
- the data returned to the client, so these should not be
- included in the file. The server does <em>not</em> add a
- Last-Modified header; it probably should. </p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_auth- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_auth</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>User authentication using text files</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>auth_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>This module allows the use of HTTP Basic Authentication to
- restrict access by looking up users in plain text password and
- group files. Similar functionality and greater scalability is
- provided by <code><a href="mod_auth_dbm.html">mod_auth_dbm</a></code>. HTTP Digest
- Authentication is provided by
- <code><a href="mod_auth_digest.html">mod_auth_digest</a></code>.</p>
-
-<h2>Directives</h2><ul><li><a href="#authauthoritative">AuthAuthoritative</a></li><li><a href="#authgroupfile">AuthGroupFile</a></li><li><a href="#authuserfile">AuthUserFile</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#require" class="directive"><code class="directive">Require</code></a></li><li><a href="core.html#satisfy" class="directive"><code class="directive">Satisfy</code></a></li><li><a href="core.html#authname" class="directive"><code class="directive">AuthName</code></a></li><li><a href="core.html#authtype" class="directive"><code class="directive">AuthType</code></a></li></ul><hr/><h2><a name="AuthAuthoritative">AuthAuthoritative</a> <a name="authauthoritative">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets whether authorization and authentication are
-passed to lower level modules</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthAuthoritative on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthAuthoritative on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth</td></tr></table></td></tr></table>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">This information has not been updated for Apache 2.0, which
-uses a different system for module ordering.</td></tr></table></blockquote>
-
- <p>Setting the <code class="directive">AuthAuthoritative</code> directive
- explicitly to <strong>'off'</strong> allows for both
- authentication and authorization to be passed on to lower level
- modules (as defined in the <code>Configuration</code> and
- <code>modules.c</code> files) if there is <strong>no
- userID</strong> or <strong>rule</strong> matching the supplied
- userID. If there is a userID and/or rule specified; the usual
- password and access checks will be applied and a failure will give
- an Authorization Required reply.</p>
-
- <p>So if a userID appears in the database of more than one module;
- or if a valid <a href="core.html#require" class="directive"><code class="directive">Require</code></a>
- directive applies to more than one module; then the first module
- will verify the credentials; and no access is passed on;
- regardless of the AuthAuthoritative setting.</p>
-
- <p>A common use for this is in conjunction with one of the
- database modules; such as <code><a href="auth_dbm.html">auth_dbm</a></code>,
- <code>mod_auth_msql</code>, and <code><a href="mod_auth_anon.html">mod_auth_anon</a></code>.
- These modules supply the bulk of the user credential checking; but
- a few (administrator) related accesses fall through to a lower
- level with a well protected <a href="#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a>.</p>
-
- <p>By default; control is not passed on; and an unknown userID or
- rule will result in an Authorization Required reply. Not setting
- it thus keeps the system secure; and forces an NCSA compliant
- behaviour.</p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Security</strong></p> Do consider the implications of
- allowing a user to allow fall-through in his .htaccess file; and
- verify that this is really what you want; Generally it is easier
- to just secure a single .htpasswd file, than it is to secure a
- database such as mSQL. Make sure that the <a href="#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a> is stored outside the
- document tree of the web-server; do <em>not</em> put it in the
- directory that it protects. Otherwise, clients will be able to
- download the <a href="#authuserfile" class="directive"><code class="directive">AuthUserFile</code></a>.
- </td></tr></table></blockquote>
-<hr/><h2><a name="AuthGroupFile">AuthGroupFile</a> <a name="authgroupfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of a text file containing the list
-of user groups for authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthGroupFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthGroupFile</code> directive sets the
- name of a textual file containing the list of user groups for user
- authentication. <em>File-path</em> is the path to the group
- file. If it is not absolute (<em>i.e.</em>, if it doesn't begin
- with a slash), it is treated as relative to the <a href="core.html#serverroot" class="directive"><code class="directive">ServerRoot</code></a>.</p>
-
- <p>Each line of the group file contains a groupname followed by a
- colon, followed by the member usernames separated by spaces.
- Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>mygroup: bob joe anne</code></td></tr></table></blockquote>
-
- <p>Note that searching large text files is <em>very</em>
- inefficient; <a href="mod_auth_dbm.html#authdbmgroupfile" class="directive"><code class="directive">AuthDBMGroupFile</code></a> should be used
- instead.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Security</strong></p>
- <p>Make sure that the AuthGroupFile is stored outside
- the document tree of the web-server; do <em>not</em> put it in
- the directory that it protects. Otherwise, clients will be able
- to download the AuthGroupFile.</p>
-</td></tr></table></blockquote>
-<hr/><h2><a name="AuthUserFile">AuthUserFile</a> <a name="authuserfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of a text file containing the list of users and
-passwords for authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthUserFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthUserFile</code> directive sets the name
- of a textual file containing the list of users and passwords for
- user authentication. <em>File-path</em> is the path to the user
- file. If it is not absolute (<em>i.e.</em>, if it doesn't begin
- with a slash), it is treated as relative to the <a href="core.html#serverroot" class="directive"><code class="directive">ServerRoot</code></a>.</p>
-
- <p>Each line of the user file file contains a username followed by
- a colon, followed by the <code>crypt()</code> encrypted
- password. The behavior of multiple occurrences of the same user is
- undefined.</p>
-
- <p>The utility <a href="../programs/htpasswd.html">htpasswd</a>
- which is installed as part of the binary distribution, or which
- can be found in <code>src/support</code>, is used to maintain
- this password file. See the <code>man</code> page for more
- details. In short:</p>
-
- <p>Create a password file 'Filename' with 'username' as the
- initial ID. It will prompt for the password:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>htpasswd -c Filename username</code></td></tr></table></blockquote>
-
-<p>Adds or modifies in password file 'Filename' the 'username':</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>htpasswd Filename username2</code></td></tr></table></blockquote>
-
- <p>Note that searching large text files is <em>very</em>
- inefficient; <a href="mod_auth_dbm.html#authdbmuserfile" class="directive"><code class="directive">AuthDBMUserFile</code></a> should be used
- instead.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Security</strong></p><p>Make sure that the AuthUserFile is
-stored outside the document tree of the web-server; do <em>not</em>
-put it in the directory that it protects. Otherwise, clients will be
-able to download the AuthUserFile.</p></td></tr></table></blockquote>
-
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_auth_anon- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_auth_anon</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Allows "anonymous" user access to authenticated
- areas</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>auth_anon_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module does access control in a manner similar to
- anonymous-ftp sites; <em>i.e.</em> have a 'magic' user id
- 'anonymous' and the email address as a password. These email
- addresses can be logged.</p>
-
- <p>Combined with other (database) access control methods, this
- allows for effective user tracking and customization according
- to a user profile while still keeping the site open for
- 'unregistered' users. One advantage of using Auth-based user
- tracking is that, unlike magic-cookies and funny URL
- pre/postfixes, it is completely browser independent and it
- allows users to share URLs.</p>
-<h2>Directives</h2><ul><li><a href="#anonymous">Anonymous</a></li><li><a href="#anonymous_authoritative">Anonymous_Authoritative</a></li><li><a href="#anonymous_logemail">Anonymous_LogEmail</a></li><li><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></li><li><a href="#anonymous_nouserid">Anonymous_NoUserID</a></li><li><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li></ul><h2>Example</h2>
-
- <p>The example below (when combined with the Auth directives of a
- htpasswd-file based (or GDM, mSQL <em>etc.</em>) base access
- control system allows users in as 'guests' with the following
- properties:</p>
-
- <ul>
- <li>It insists that the user enters a userId.
- (<code>Anonymous_NoUserId</code>)</li>
-
- <li>It insists that the user enters a password.
- (<code>Anonymous_MustGiveEmail</code>)</li>
-
- <li>The password entered must be a valid email address, ie.
- contain at least one '@' and a '.'.
- (<code>Anonymous_VerifyEmail</code>)</li>
-
- <li>The userID must be one of <code>anonymous guest www test
- welcome</code> and comparison is <strong>not</strong> case
- sensitive.</li>
-
- <li>And the Email addresses entered in the passwd field are
- logged to the error log file
- (<code>Anonymous_LogEmail</code>)</li>
- </ul>
-
- <p>Excerpt of httpd.conf:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Anonymous_NoUserId off<br>
- Anonymous_MustGiveEmail on<br>
- Anonymous_VerifyEmail on<br>
- Anonymous_LogEmail on<br>
- Anonymous anonymous guest www test welcome<br>
-<br>
- AuthName "Use 'anonymous' & Email address for
- guest entry"<br>
- AuthType basic<br>
-<br>
- # An
- AuthUserFile/AuthDBUserFile/AuthDBMUserFile<br>
- # directive must be specified, or use<br>
- # Anonymous_Authoritative for public access.<br>
- # In the .htaccess for the public directory, add:<br>
- <Files *><br>
- Order Deny,Allow<br>
- Allow from all<br>
-<br>
- Require valid-user<br>
- </Files><br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="Anonymous">Anonymous</a> <a name="anonymous">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Specifies userIDs that areallowed access without
-password verification</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous <em>user</em> [<em>user</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>A list of one or more 'magic' userIDs which are allowed
- access without password verification. The userIDs are space
- separated. It is possible to use the ' and " quotes to allow a
- space in a userID as well as the \ escape character.</p>
-
- <p>Please note that the comparison is
- <strong>case-IN-sensitive</strong>.<br>
- I strongly suggest that the magic username
- '<code>anonymous</code>' is always one of the allowed
- userIDs.</p>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Anonymous anonymous "Not Registered" 'I don\'t know'</code></td></tr></table></blockquote>
-
- <p>This would allow the user to enter without password
- verification by using the userId's 'anonymous',
- 'AnonyMous','Not Registered' and 'I Don't Know'.</p>
-<hr/><h2><a name="Anonymous_Authoritative">Anonymous_Authoritative</a> <a name="anonymous_authoritative">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures if authorization will fall-through
-to other methods</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous_Authoritative on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Anonymous_Authoritative off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>When set 'on', there is no fall-through to other authorization
- methods. So if a userID does not match the values specified in the
- <a href="#anonymous" class="directive"><code class="directive">Anonymous</code></a> directive,
- access is denied.</p>
-
- <p>Be sure you know what you are doing when you decide to
- switch it on. And remember that it is the linking order of the
- modules (in the Configuration / Make file) which details the
- order in which the Authorization modules are queried.</p>
-<hr/><h2><a name="Anonymous_LogEmail">Anonymous_LogEmail</a> <a name="anonymous_logemail">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets whether the password entered will be logged in the
-error log</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous_LogEmail on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Anonymous_LogEmail on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>When set <code>on</code>, the default, the 'password' entered
- (which hopefully contains a sensible email address) is logged in
- the error log.</p>
-<hr/><h2><a name="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a> <a name="anonymous_mustgiveemail">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Specifies whether blank passwords are allowed</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous_MustGiveEmail on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Anonymous_MustGiveEmail on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>Specifies whether the user must specify an email address as
- the password. This prohibits blank passwords.</p>
-<hr/><h2><a name="Anonymous_NoUserID">Anonymous_NoUserID</a> <a name="anonymous_nouserid">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets whether the userID field may be empty</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous_NoUserID on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Anonymous_NoUserID off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>When set <code>on</code>, users can leave the userID (and
- perhaps the password field) empty. This can be very convenient for
- MS-Explorer users who can just hit return or click directly on the
- OK button; which seems a natural reaction.</p>
-<hr/><h2><a name="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a> <a name="anonymous_verifyemail">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets whether to check the password field for a correctly
-formatted email address</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Anonymous_VerifyEmail on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Anonymous_VerifyEmail off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_anon</td></tr></table></td></tr></table>
- <p>When set <code>on</code> the 'password' entered is checked for
- at least one '@' and a '.' to encourage users to enter valid email
- addresses (see the above <a href="#auth_logemail" class="directive"><code class="directive">Auth_LogEmail</code></a>).</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_auth_dbm- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_auth_dbm</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for user authentication using DBM
- files</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>auth_dbm_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module provides for HTTP Basic Authentication, where
- the usernames and passwords are stored in DBM type database
- files. It is an alternative to the plain text password files
- provided by <code><a href="mod_auth.html">mod_auth</a></code>.</p>
-<h2>Directives</h2><ul><li><a href="#authdbmauthoritative">AuthDBMAuthoritative</a></li><li><a href="#authdbmgroupfile">AuthDBMGroupFile</a></li><li><a href="#authdbmtype">AuthDBMType</a></li><li><a href="#authdbmuserfile">AuthDBMUserFile</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#authname" class="directive"><code class="directive">AuthName</code></a></li><li><a href="core.html#authtype" class="directive"><code class="directive">AuthType</code></a></li><li><a href="core.html#require" class="directive"><code class="directive">Require</code></a></li><li><a href="core.html#satisfy" class="directive"><code class="directive">Satisfy</code></a></li></ul><hr/><h2><a name="AuthDBMAuthoritative">AuthDBMAuthoritative</a> <a name="authdbmauthoritative">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets whether authentication and authorization will be
-passwed on to lower level modules</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDBMAuthoritative on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDBMAuthoritative on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_dbm</td></tr></table></td></tr></table>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">This information has not been updated to take into account the
-new module ordering techniques in Apache 2.0</td></tr></table></blockquote>
-
- <p>Setting the <code class="directive">AuthDBMAuthoritative</code>
- directive explicitly to <strong>'off'</strong> allows for both
- authentication and authorization to be passed on to lower level
- modules (as defined in the <code>Configuration</code> and
- <code>modules.c</code> file if there is <strong>no userID</strong>
- or <strong>rule</strong> matching the supplied userID. If there is
- a userID and/or rule specified; the usual password and access
- checks will be applied and a failure will give an Authorization
- Required reply.</p>
-
- <p>So if a userID appears in the database of more than one module;
- or if a valid <a href="core.html#require" class="directive"><code class="directive">Require</code></a>
- directive applies to more than one module; then the first module
- will verify the credentials; and no access is passed on;
- regardless of the <code class="directive">AuthAuthoritative</code> setting.</p>
-
- <p>A common use for this is in conjunction with one of the
- basic auth modules; such as <code><a href="mod_auth.html">mod_auth</a></code>. Whereas this
- DBM module supplies the bulk of the user credential checking; a
- few (administrator) related accesses fall through to a lower
- level with a well protected .htpasswd file.</p>
-
- <p>By default, control is not passed on and an unknown userID
- or rule will result in an Authorization Required reply. Not
- setting it thus keeps the system secure and forces an NCSA
- compliant behaviour.</p>
-
- <p>Security: Do consider the implications of allowing a user to
- allow fall-through in his .htaccess file; and verify that this
- is really what you want; Generally it is easier to just secure
- a single .htpasswd file, than it is to secure a database which
- might have more access interfaces.</p>
-<hr/><h2><a name="AuthDBMGroupFile">AuthDBMGroupFile</a> <a name="authdbmgroupfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of the database file containing the list
-of user groups for authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDBMGroupFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_dbm</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDBMGroupFile</code> directive sets the
- name of a DBM file containing the list of user groups for user
- authentication. <em>File-path</em> is the absolute path to the
- group file.</p>
-
- <p>The group file is keyed on the username. The value for a
- user is a comma-separated list of the groups to which the users
- belongs. There must be no whitespace within the value, and it
- must never contain any colons.</p>
-
- <p>Security: make sure that the
- <code class="directive">AuthDBMGroupFile</code> is stored outside the
- document tree of the web-server; do <em>not</em> put it in the
- directory that it protects. Otherwise, clients will be able to
- download the <code class="directive">AuthDBMGroupFile</code> unless
- otherwise protected.</p>
-
- <p>Combining Group and Password DBM files: In some cases it is
- easier to manage a single database which contains both the
- password and group details for each user. This simplifies any
- support programs that need to be written: they now only have to
- deal with writing to and locking a single DBM file. This can be
- accomplished by first setting the group and password files to
- point to the same DBM:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-AuthDBMGroupFile /www/userbase<br>
-AuthDBMUserFile /www/userbase
-</code></td></tr></table></blockquote>
-
- <p>The key for the single DBM is the username. The value consists
- of</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Unix Crypt-ed Password : List of Groups [ : (ignored)
- ]</code></td></tr></table></blockquote>
-
- <p>The password section contains the Unix <code>crypt()</code>
- password as before. This is followed by a colon and the comma
- separated list of groups. Other data may optionally be left in the
- DBM file after another colon; it is ignored by the authentication
- module. This is what www.telescope.org uses for its combined
- password and group database.</p>
-<hr/><h2><a name="AuthDBMType">AuthDBMType</a> <a name="authdbmtype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the type of database file that is used to
-store passwords</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDBMType default|SDBM|GDBM|DB</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDBMType default</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_dbm</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.</td></tr></table></td></tr></table>
-
-<p>Sets the type of database file that is used to store the passwords.
-The default database type is determined at compile time. The
-availability of other types of database files also depends on
-compile-time settings.</p>
-
-<p>It is crucial that whatever program you use to create your password
-files is configured to use the same type of database.</p>
-<hr/><h2><a name="AuthDBMUserFile">AuthDBMUserFile</a> <a name="authdbmuserfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets thename of a database file containing the list of users and
-passwords for authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDBMUserFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_dbm</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDBMUserFile</code> directive sets the
- name of a DBM file containing the list of users and passwords for
- user authentication. <em>File-path</em> is the absolute path to
- the user file.</p>
-
- <p>The user file is keyed on the username. The value for a user is
- the <code>crypt()</code> encrypted password, optionally followed
- by a colon and arbitrary data. The colon and the data following it
- will be ignored by the server.</p>
-
- <p>Security: make sure that the
- <code class="directive">AuthDBMUserFile</code> is stored outside the
- document tree of the web-server; do <em>not</em> put it in the
- directory that it protects. Otherwise, clients will be able to
- download the <code class="directive">AuthDBMUserFile</code>.</p>
-
- <p>Important compatibility note: The implementation of
- "dbmopen" in the apache modules reads the string length of the
- hashed values from the DBM data structures, rather than relying
- upon the string being NULL-appended. Some applications, such as
- the Netscape web server, rely upon the string being
- NULL-appended, so if you are having trouble using DBM files
- interchangeably between applications this may be a part of the
- problem.</p>
-
- <p>A perl script called
- <a href="../programs/dbmmanage.html">dbmmanage</a> is included with
- Apache. This program can be used to create and update DBM
- format password files for use with this module.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_auth_digest- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_auth_digest</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>User authentication using MD5
- Digest Authentication.</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>auth_digest_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module implements HTTP Digest Authentication. However, it
- has not been extensively tested and is therefore marked
- experimental.</p>
-<h2>Directives</h2><ul><li><a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li><li><a href="#authdigestdomain">AuthDigestDomain</a></li><li><a href="#authdigestfile">AuthDigestFile</a></li><li><a href="#authdigestgroupfile">AuthDigestGroupFile</a></li><li><a href="#authdigestnccheck">AuthDigestNcCheck</a></li><li><a href="#authdigestnonceformat">AuthDigestNonceFormat</a></li><li><a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li><li><a href="#authdigestqop">AuthDigestQop</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#authname" class="directive"><code class="directive">AuthName</code></a></li><li><a href="core.html#authtype" class="directive"><code class="directive">AuthType</code></a></li><li><a href="core.html#require" class="directive"><code class="directive">Require</code></a></li><li><a href="core.html#satisfy" class="directive"><code class="directive">Satisfy</code></a></li></ul><h2>Using Digest Authentication</h2>
-
- <p>Using MD5 Digest authentication is very simple. Simply set
- up authentication normally, using "AuthType Digest" and
- "AuthDigestFile" instead of the normal "AuthType Basic" and
- "AuthUserFile"; also, replace any "AuthGroupFile" with
- "AuthDigestGroupFile". Then add a "AuthDigestDomain" directive
- containing at least the root URI(s) for this protection space.
- Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location /private/><br>
- AuthType Digest<br>
- AuthName "private area"<br>
- AuthDigestDomain /private/ http://mirror.my.dom/private2/<br>
- AuthDigestFile /web/auth/.digest_pw<br>
- Require valid-user<br>
- </Location>
-</code></td></tr></table></blockquote>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
- <p>MD5 authentication provides a more
- secure password system than Basic authentication, but only
- works with supporting browsers. As of this writing (October 2001),
- the only major browsers which support digest authentication are
- <a href="http://www.opera.com/">Opera 4.0</a>,
- <a href="http://www.microsoft.com/windows/ie/">MS Internet
- Explorer 5.0</a> and <a href="http://www.w3.org/Amaya/">Amaya</a>.
- Therefore, we do not yet recommend using this feature on a large
- Internet site. However, for personal and intra-net use, where
- browser users can be controlled, it is ideal.</p>
-</td></tr></table></blockquote>
-<hr/><h2><a name="AuthDigestAlgorithm">AuthDigestAlgorithm</a> <a name="authdigestalgorithm">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Selects the algorithm used to calculate the challenge and
-response hases in digest authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestAlgorithm MD5|MD5-sess</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDigestAlgorithm MD5</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestAlgorithm</code> directive
- selects the algorithm used to calculate the challenge and response
- hashes.</p>
-
- <p><strong><em>MD5-sess</em> is not correctly implemented
- yet</strong>.
- </p>
-<hr/><h2><a name="AuthDigestDomain">AuthDigestDomain</a> <a name="authdigestdomain">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>URIs that are in the same protection space for digest
-authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestDomain <em>URI</em> [<em>URI</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestDomain</code> directive allows
- you to specify one or more URIs which are in the same protection
- space (i.e. use the same realm and username/password info). The
- specified URIs are prefixes, i.e. the client will assume that all
- URIs "below" these are also protected by the same
- username/password. The URIs may be either absolute URIs
- (i.e. inluding a scheme, host, port, etc) or relative URIs.</p>
-
- <p>This directive <em>should</em> always be specified and
- contain at least the (set of) root URI(s) for this space.
- Omitting to do so will cause the client to send the
- Authorization header for <em>every request</em> sent to this
- server. Apart from increasing the size of the request, it may
- also have a detrimental effect on performance if
- "AuthDigestNcCheck" is on.</p>
-
- <p>The URIs specified can also point to different servers, in
- which case clients (which understand this) will then share
- username/password info across multiple servers without
- prompting the user each time. </p>
-<hr/><h2><a name="AuthDigestFile">AuthDigestFile</a> <a name="authdigestfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Location of the text file containing the list
-of users and encoded passwords for digest authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestFile</code> directive sets the
- name of a textual file containing the list of users and encoded
- passwords for digest authentication. <em>File-path</em> is the
- absolute path to the user file.</p>
-
- <p>The digest file uses a special format. Files in this format
- can be created using the <a href="../programs/htdigest.html">htdigest</a> utility found in
- the support/ subdirectory of the Apache distribution.</p>
-<hr/><h2><a name="AuthDigestGroupFile">AuthDigestGroupFile</a> <a name="authdigestgroupfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Name of the text file containing the list of groups
-for digest authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestGroupFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestGroupFile</code> directive sets
- the name of a textual file containing the list of groups and their
- members (user names). <em>File-path</em> is the absolute path to
- the group file.</p>
-
- <p>Each line of the group file contains a groupname followed by
- a colon, followed by the member usernames separated by spaces.
- Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>mygroup: bob joe anne</code></td></tr></table></blockquote>
-
- <p>Note that searching large text files is <em>very</em>
- inefficient.</p>
-
- <p>Security: make sure that the AuthGroupFile is stored outside
- the document tree of the web-server; do <em>not</em> put it in
- the directory that it protects. Otherwise, clients will be able
- to download the AuthGroupFile.</p>
-<hr/><h2><a name="AuthDigestNcCheck">AuthDigestNcCheck</a> <a name="authdigestnccheck">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables or disables checking of the nonce-count sent by the
-server</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestNcCheck On|Off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDigestNcCheck Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p><strong>Not implemented yet.</strong>
- </p>
-<hr/><h2><a name="AuthDigestNonceFormat">AuthDigestNonceFormat</a> <a name="authdigestnonceformat">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Determines how the nonce is generated</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>???</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>???</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p><strong>Not implemented yet.</strong>
- </p>
-<hr/><h2><a name="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a> <a name="authdigestnoncelifetime">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>How long the server nonce is valid</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestNonceLifetime <em>seconds</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDigestNonceLifetime 300</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestNonceLifetime</code> directive
- controls how long the server nonce is valid. When the client
- contacts the server using an expired nonce the server will send
- back a 401 with <code>stale=true</code>. If <em>seconds</em> is
- greater than 0 then it specifies the amount of time for which the
- nonce is valid; this should probably never be set to less than 10
- seconds. If <em>seconds</em> is less than 0 then the nonce never
- expires.
- </p>
-<hr/><h2><a name="AuthDigestQop">AuthDigestQop</a> <a name="authdigestqop">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Determines the quality-of-protection to use in digest
-authentication</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AuthDigestQop none|auth|auth-int [auth|auth-int]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AuthDigestQop auth</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_auth_digest</td></tr></table></td></tr></table>
- <p>The <code class="directive">AuthDigestQop</code> directive determines
- the quality-of-protection to use. <em>auth</em> will only do
- authentication (username/password); <em>auth-int</em> is
- authentication plus integrity checking (an MD5 hash of the entity
- is also computed and checked); <em>none</em> will cause the module
- to use the old RFC-2069 digest algorithm (which does not include
- integrity checking). Both <em>auth</em> and <em>auth-int</em> may
- be specified, in which the case the browser will choose which of
- these to use. <em>none</em> should only be used if the browser for
- some reason does not like the challenge it receives otherwise.</p>
-
- <p><strong><em>auth-int</em> is not implemented
- yet</strong>.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_autoindex- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_autoindex</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Generates directory indexes,
- automatically, similar to the Unix <em>ls</em> command or the
- Win32 <em>dir</em> shell command</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>autoindex_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>The index of a directory can come from one of two
- sources:</p>
-
- <ul>
- <li>A file written by the user, typically called
- <code>index.html</code>. The <a href="mod_dir.html#directoryindex" class="directive"><code class="directive">DirectoryIndex</code></a> directive sets the
- name of this file. This is controlled by
- <code><a href="mod_dir.html">mod_dir</a></code>.</li>
-
- <li>Otherwise, a listing generated by the server. The other
- directives control the format of this listing. The <a href="#addicon" class="directive"><code class="directive">AddIcon</code></a>, <a href="#addiconbyencoding" class="directive"><code class="directive">AddIconByEncoding</code></a> and
- <a href="#addiconbytype" class="directive"><code class="directive">AddIconByType</code></a> are
- used to set a list of icons to display for various file types;
- for each file listed, the first icon listed that matches the
- file is displayed. These are controlled by
- <code><a href="mod_autoindex.html">mod_autoindex</a></code>.</li>
- </ul>
- <p>The two functions are separated so that you can completely
- remove (or replace) automatic index generation should you want
- to.</p>
-
- <p>Automatic index generation is enabled with using
- <code>Options +Indexes</code>. See the
- <a href="core.html#options" class="directive"><code class="directive">Options</code></a> directive for
- more details.</p>
-
- <p>If the <a href="autoindex.html#fancyindexing" class="directive"><code class="directive">FancyIndexing</code></a>
- option is given with the <a href="autoindex.html#indexoptions" class="directive"><code class="directive">IndexOptions</code></a> directive,
- the column headers are links that control the order of the
- display. If you select a header link, the listing will be
- regenerated, sorted by the values in that column. Selecting the
- same header repeatedly toggles between ascending and descending
- order. These column header links are suppressed with
- <a href="autoindex.html#indexoptions" class="directive"><code class="directive">IndexOptions</code></a> directive's
- <code>SuppressColumnSorting</code> option.</p>
-
- <p>Note that when the display is sorted by "Size", it's the
- <em>actual</em> size of the files that's used, not the
- displayed value - so a 1010-byte file will always be displayed
- before a 1011-byte file (if in ascending order) even though
- they both are shown as "1K".</p>
-<h2>Directives</h2><ul><li><a href="#addalt">AddAlt</a></li><li><a href="#addaltbyencoding">AddAltByEncoding</a></li><li><a href="#addaltbytype">AddAltByType</a></li><li><a href="#adddescription">AddDescription</a></li><li><a href="#addicon">AddIcon</a></li><li><a href="#addiconbyencoding">AddIconByEncoding</a></li><li><a href="#addiconbytype">AddIconByType</a></li><li><a href="#defaulticon">DefaultIcon</a></li><li><a href="#headername">HeaderName</a></li><li><a href="#indexignore">IndexIgnore</a></li><li><a href="#indexoptions">IndexOptions</a></li><li><a href="#indexorderdefault">IndexOrderDefault</a></li><li><a href="#readmename">ReadmeName</a></li></ul><h2>Autoindex Request Query Arguments</h2>
-
- <p>Apache 2.0.23 reorganized the Query Arguments for Column
- Sorting, and introduced an entire group of new query options.
- To effectively eliminate all client control over the output,
- the <code><a href="#indexoptions:ignoreclient">IndexOptions
- IgnoreClient</a></code> option was introduced.</p>
-
- <p>The column sorting headers themselves are self-referencing
- hyperlinks that add the sort query options shown below. Any
- option below may be added to any request for the directory
- resource.</p>
-
- <ul>
- <li><code>C=N</code> sorts the directory by file name</li>
-
- <li><code>C=M</code> sorts the directory by last-modified
- date, then file name</li>
-
- <li><code>C=S</code> sorts the directory by size, then file
- name</li>
-
- <li><code>C=D</code> sorts the directory by description, then
- file name<br>
- </li>
-
- <li><code>O=A</code> sorts the listing in Ascending
- Order</li>
-
- <li><code>O=D</code> sorts the listing in Descending
- Order<br>
- </li>
-
- <li><code>F=0</code> formats the listing as a simple list
- (not FancyIndexed)</li>
-
- <li><code>F=1</code> formats the listing as a FancyIndexed
- list</li>
-
- <li><code>F=2</code> formats the listing as an HTMLTable
- FancyIndexed list<br>
- </li>
-
- <li><code>V=0</code> disables version sorting</li>
-
- <li><code>V=1</code> enables version sorting<br>
- </li>
-
- <li><code>P=<em>pattern</em></code> lists only files matching
- the given <em>pattern</em></li>
- </ul>
-
- <p>Note that the 'P'attern query argument is tested
- <em>after</em> the usual IndexIgnore directives are processed,
- and all file names are still subjected to the same criteria as
- any other autoindex listing. The Query Arguments parser in
- mod_autoindex will stop abruptly when an unrecognized option is
- encountered. The Query Arguments must be well formed, according
- to the table above.</p>
-
- <p>The simple example below, which can be clipped and saved in
- a header.html file, illustrates these query options. Note that
- the unknown "X" argument, for the submit button, is listed last
- to assure the arguments are all parsed before mod_autoindex
- encounters the X=Go input.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<FORM METHOD="GET"><br>
- Show me a <SELECT NAME="F"><br>
- <OPTION VALUE="0"> Plain list <br>
- <OPTION VALUE="1" SELECTED> Fancy list<br>
- <OPTION VALUE="2"> Table list<br>
- </SELECT><br>
- Sorted by <SELECT NAME="C"><br>
- <OPTION VALUE="N" SELECTED> Name<br>
- <OPTION VALUE="M"> Date Modified<br>
- <OPTION VALUE="S"> Size<br>
- <OPTION VALUE="D"> Description<br>
- </SELECT><br>
- <SELECT NAME="O"><br>
- <OPTION VALUE="A" SELECTED> Ascending<br>
- <OPTION VALUE="D"> Descending<br>
- </SELECT><br>
- <SELECT NAME="V"><br>
- <OPTION VALUE="0" SELECTED> in Normal order<br>
- <OPTION VALUE="1"> in Version order<br>
- </SELECT><br>
- Matching <INPUT TYPE="text" NAME="P" VALUE="*"><br>
- <INPUT TYPE="submit" NAME="X" VALUE="Go"><br>
-</FORM>
-</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="AddAlt">AddAlt</a> <a name="addalt">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Alternate text to display for a file, instead of an
-icon selected by filename</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddAlt <em>string file</em> [<em>file</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p><code class="directive">AddAlt</code> provides the alternate text to
- display for a file, instead of an icon, for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>File</em> is a file extension, partial filename, wild-card
- expression or full filename for files to describe.
- <em>String</em> is enclosed in double quotes (<code>"</code>).
- This alternate text is displayed if the client is image-incapable,
- has image loading disabled, or fails to retrieve the icon.</p>
-
- <p>Examples:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddAlt "PDF" *.pdf<br>
- AddAlt "Compressed" *.gz *.zip *.Z
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="AddAltByEncoding">AddAltByEncoding</a> <a name="addaltbyencoding">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Alternate text to display for a file instead of an icon
-selected by MIME-encoding</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddAltByEncoding <em>string MIME-encoding</em>
-[<em>MIME-encoding</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p><code class="directive">AddAltByEncoding</code> provides the alternate
- text to display for a file, instead of an icon, for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>MIME-encoding</em> is a valid content-encoding, such as
- <code>x-compress</code>. <em>String</em> is enclosed in double
- quotes (<code>"</code>). This alternate text is displayed if the
- client is image-incapable, has image loading disabled, or fails to
- retrieve the icon.</p>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddAltByEncoding "gzip" x-gzip
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="AddAltByType">AddAltByType</a> <a name="addaltbytype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Alternate text to display for a file, instead of an
-icon selected by MIME content-type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddAltByType <em>string
- MIME-type</em> [<em>MIME-type</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p><code class="directive">AddAltByType</code> sets the alternate text to
- display for a file, instead of an icon, for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>MIME-type</em> is a valid content-type, such as
- <code>text/html</code>. <em>String</em> is enclosed in double
- quotes (<code>"</code>). This alternate text is displayed if the
- client is image-incapable, has image loading disabled, or fails to
- retrieve the icon.</p>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddAltByType "TXT" text/plain
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="AddDescription">AddDescription</a> <a name="adddescription">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddDescription
- <em>string file</em> [<em>file</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>This sets the description to display for a file, for
- <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>File</em> is a file extension, partial filename, wild-card
- expression or full filename for files to describe.
- <em>String</em> is enclosed in double quotes (<code>"</code>).
- Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddDescription "The planet Mars"
- /web/pics/mars.gif</code></td></tr></table></blockquote>
-
- <p>The typical, default description field is 23 bytes wide. 6
- more bytes are added by the
- <code>IndexOptions SuppressIcon</code> option, 7 bytes are
- added by the <code>IndexOptions SuppressSize</code>
- option, and 19 bytes are added by the
- <code>IndexOptions SuppressLastModified</code> option.
- Therefore, the widest default the description column is ever
- assigned is 55 bytes.</p>
-
- <p>See the <a href="#indexoptions:descriptionwidth">DescriptionWidth</a>
- <a href="#indexoptions" class="directive"><code class="directive">IndexOptions</code></a> keyword
- for details on overriding the size of this column, or allowing
- descriptions of unlimited length.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Caution</strong></p> <p>Descriptive text defined with
- <code class="directive">AddDescription</code> may contain HTML markup, such as
- tags and character entities. If the width of the description
- column should happen to truncate a tagged element (such as
- cutting off the end of a bolded phrase), the results may
- affect the rest of the directory listing.</p>
-</td></tr></table></blockquote>
-<hr/><h2><a name="AddIcon">AddIcon</a> <a name="addicon">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Icon to display for a file selected by name</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddIcon <em>icon
- name</em> [<em>name</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>This sets the icon to display next to a file ending in
- <em>name</em> for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>Icon</em> is either a (%-escaped) relative URL to the icon,
- or of the format (<em>alttext</em>,<em>url</em>) where
- <em>alttext</em> is the text tag given for an icon for
- non-graphical browsers.</p>
-
- <p><em>Name</em> is either ^^DIRECTORY^^ for directories,
- ^^BLANKICON^^ for blank lines (to format the list correctly), a
- file extension, a wildcard expression, a partial filename or a
- complete filename. Examples:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm<br>
- AddIcon /icons/dir.xbm ^^DIRECTORY^^<br>
- AddIcon /icons/backup.xbm *~
-</code></td></tr></table></blockquote>
-
- <p><a href="#addiconbytype" class="directive"><code class="directive">AddIconByType</code></a>
- should be used in preference to <code class="directive">AddIcon</code>,
- when possible.</p>
-<hr/><h2><a name="AddIconByEncoding">AddIconByEncoding</a> <a name="addiconbyencoding">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Icon to display next to files selected by MIME
-content-encoding</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddIconByEncoding
- <em>icon MIME-encoding</em> [<em>MIME-encoding</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>This sets the icon to display next to files with <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>Icon</em> is either a (%-escaped) relative URL to the icon,
- or of the format (<em>alttext</em>,<em>url</em>) where
- <em>alttext</em> is the text tag given for an icon for
- non-graphical browsers.</p>
-
- <p><em>Mime-encoding</em> is a wildcard expression matching
- required the content-encoding. Examples:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddIconByEncoding /icons/compress.xbm x-compress</code></td></tr></table></blockquote>
-<hr/><h2><a name="AddIconByType">AddIconByType</a> <a name="addiconbytype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Icon to display next to files selected by MIME
-content-type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddIconByType
- <em>icon MIME-type</em> [<em>MIME-type</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>This sets the icon to display next to files of type
- <em>MIME-type</em> for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>Icon</em> is either a (%-escaped) relative URL to the icon,
- or of the format (<em>alttext</em>,<em>url</em>) where
- <em>alttext</em> is the text tag given for an icon for
- non-graphical browsers.</p>
-
- <p><em>Mime-type</em> is a wildcard expression matching
- required the mime types. Examples:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddIconByType (IMG,/icons/image.xbm) image/*</code></td></tr></table></blockquote>
-<hr/><h2><a name="DefaultIcon">DefaultIcon</a> <a name="defaulticon">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Icon to display for files when no specific icon is
-configured</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DefaultIcon <em>url-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">DefaultIcon</code> directive sets the icon
- to display for files when no specific icon is known, for <code><a href="#indexoptions:fancyindexing">FancyIndexing</a></code>.
- <em>Url</em> is a (%-escaped) relative URL to the icon.
- Examples:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>DefaultIcon /icon/unknown.xbm</code></td></tr></table></blockquote>
-<hr/><h2><a name="HeaderName">HeaderName</a> <a name="headername">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Name of the file that will be inserted at the top
-of the index listing</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>HeaderName <em>filename</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">HeaderName</code> directive sets the name
- of the file that will be inserted at the top of the index
- listing. <em>Filename</em> is the name of the file to include.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- <p>Both HeaderName and <a href="#readmename" class="directive"><code class="directive">ReadmeName</code></a> now treat
- <em>Filename</em> as a URI path relative to the one used to
- access the directory being indexed. <em>Filename</em> must
- resolve to a document with a major content type of
- "<code>text/*</code>" (<em>e.g.</em>, <code>text/html</code>,
- <code>text/plain</code>, <em>etc.</em>). This means that
- <em>filename</em> may refer to a CGI script if the script's
- actual file type (as opposed to its output) is marked as
- <code>text/html</code> such as with a directive like:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddType text/html .cgi
-</code></td></tr></table></blockquote>
- <p><a href="../content-negotiation.html">Content negotiation</a>
- will be performed if the <code>MultiViews</code> <a href="core.html#option" class="directive"><code class="directive">Option</code></a> is enabled. If
- <em>filename</em> resolves to a static <code>text/html</code>
- document (not a CGI script) and the <code>Includes</code>
- <a href="core.html#option" class="directive"><code class="directive">option</code></a> is enabled, the file
- will be processed for server-side includes (see the
- <code><a href="mod_include.html">mod_include</a></code> documentation).</p>
-</td></tr></table></blockquote>
-
- <p>If the file specified by <code class="directive">HeaderName</code> contains
- the beginnings of an HTML document (<HTML>, <HEAD>,
- etc) then you will probably want to set <a href="#indexoptions:suppresshtmlpreamble"><code>IndexOptions
- +SuppressHTMLPreamble</code></a>, so that these tags are not
- repeated.</p>
-<hr/><h2><a name="IndexIgnore">IndexIgnore</a> <a name="indexignore">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Adds to the list of files to hide when listing
-a directory</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>IndexIgnore <em>file</em> [<em>file</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">IndexIgnore</code> directive adds to the
- list of files to hide when listing a directory. <em>File</em> is a
- file extension, partial filename, wildcard expression or full
- filename for files to ignore. Multiple IndexIgnore directives add
- to the list, rather than the replacing the list of ignored
- files. By default, the list contains
- `<code>.</code>'. Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>IndexIgnore README .htaccess *~</code></td></tr></table></blockquote>
-<hr/><h2><a name="IndexOptions">IndexOptions</a> <a name="indexoptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Various configuration settings for directory
-indexing</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>IndexOptions [+|-]<em>option</em> [[+|-]<em>option</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">IndexOptions</code> directive specifies the
- behavior of the directory indexing. <em>Option</em> can be one
- of</p>
-
- <dl>
- <dt><a name="indexoptions:descriptionwidth">DescriptionWidth=[<em>n</em>
- | *] (<em>Apache 1.3.10 or 2.0.23 and later</em>)</a></dt>
-
- <dd>The <code>DescriptionWidth</code> keyword allows you to
- specify the width of the description column in
- characters.</dd>
-
- <dd><code>-DescriptionWidth</code> (or unset) allows
- mod_autoindex to calculate the best width.</dd>
-
- <dd><code>DescriptionWidth=n</code> fixes the column width to
- n bytes wide.</dd>
-
- <dd><code>DescriptionWidth=*</code> grows the column to the
- width necessary to accommodate the longest description
- string.</dd>
-
- <dd><strong>See the section on <a href="#adddescription" class="directive"><code class="directive">AddDescription</code></a> for dangers
- inherent in truncating descriptions.</strong></dd>
-
- <dt><a name="indexoptions:fancyindexing">FancyIndexing</a></dt>
-
- <dd>
- This turns on fancy indexing of directories.</dd>
-
- <dt><a name="indexoptions:foldersfirst">FoldersFirst (<em>Apache
- 1.3.10 or 2.0.23 and later</em>)</a></dt>
-
- <dd>If this option is enabled, subdirectory listings will
- <em>always</em> appear first, followed by normal files in the
- directory. The listing is basically broken into two
- components, the files and the subdirectories, and each is
- sorted separately and then displayed subdirectories-first.
- For instance, if the sort order is descending by name, and
- <code>FoldersFirst</code> is enabled, subdirectory
- <code>Zed</code> will be listed before subdirectory
- <code>Beta</code>, which will be listed before normal files
- <code>Gamma</code> and <code>Alpha</code>. <strong>This option
- only has an effect if <a href="#indexoptions:fancyindexing"><code>FancyIndexing</code></a>
- is also enabled.</strong></dd>
-
- <dt><a name="indexoptions:htmltable">HTMLTable</a> <em>(Experimental,
- Apache 2.0.23 and later)</em></dt>
-
- <dd>
- This experimental option with FancyIndexing constructs a
- simple table for the fancy directory listing. Note this will
- confuse older browsers. It is particularly necessary if file
- names or description text will alternate between
- left-to-right and right-to-left reading order, as can happen
- on WinNT or other utf-8 enabled platforms.</dd>
-
- <dt><a name="indexoptions:iconsarelinks">IconsAreLinks</a></dt>
-
- <dd>
- This makes the icons part of the anchor for the filename, for
- fancy indexing.</dd>
-
- <dt><a name="indexoptions:iconheight">IconHeight[=pixels]
- (<em>Apache 1.3 and later</em>)</a></dt>
-
- <dd>
- Presence of this option, when used with IconWidth, will cause
- the server to include <code>HEIGHT</code> and
- <code>WIDTH</code> attributes in the <code>IMG</code> tag for
- the file icon. This allows browser to precalculate the page
- layout without having to wait until all the images have been
- loaded. If no value is given for the option, it defaults to
- the standard height of the icons supplied with the Apache
- software.</dd>
-
- <dt><a name="indexoptions:iconwidth">IconWidth[=pixels] (<em>Apache
- 1.3 and later</em>)</a></dt>
-
- <dd>
- Presence of this option, when used with IconHeight, will
- cause the server to include <code>HEIGHT</code> and
- <code>WIDTH</code> attributes in the <code>IMG</code> tag for
- the file icon. This allows browser to precalculate the page
- layout without having to wait until all the images have been
- loaded. If no value is given for the option, it defaults to
- the standard width of the icons supplied with the Apache
- software.</dd>
-
- <dt><a name="indexoptions:ignoreclient">IgnoreClient</a></dt>
-
- <dd>
- This option causes mod_autoindex to ignore all query
- variables from the client, including sort order (implies
- <code><a href="#indexoptions:suppresscolumnsorting">SuppressColumnSorting</a></code>.)</dd>
-
- <dt><a name="indexoptions:namewidth">NameWidth=[<em>n</em> | *]
- (<em>Apache 1.3.2 and later</em>)</a></dt>
-
- <dd>The NameWidth keyword allows you to specify the width of
- the filename column in bytes.</dd>
-
- <dd><code>-NameWidth</code> (or unset) allows mod_autoindex
- to calculate the best width.</dd>
-
- <dd><code>NameWidth=n</code> fixes the column width to n
- bytes wide.</dd>
-
- <dd><code>NameWidth=*</code> grows the column to the
- necessary width.</dd>
-
- <dt><a name="indexoptions:scanhtmltitles">ScanHTMLTitles</a></dt>
-
- <dd>
- This enables the extraction of the title from HTML documents
- for fancy indexing. If the file does not have a description
- given by <a href="#adddescription">AddDescription</a> then
- httpd will read the document for the value of the TITLE tag.
- This is CPU and disk intensive.</dd>
-
- <dt><a name="indexoptions:suppresscolumnsorting">SuppressColumnSorting</a>
- (<em>Apache 1.3 and later</em>)</dt>
-
- <dd>
- If specified, Apache will not make the column headings in a
- FancyIndexed directory listing into links for sorting. The
- default behavior is for them to be links; selecting the
- column heading will sort the directory listing by the values
- in that column. <strong>Prior to Apache 2.0.23, this also
- disabled parsing the Query Arguments for the sort
- string.</strong> That behavior is now controlled by <a href="#indexoptions:ignoreclient">IndexOptions
- IgnoreClient</a> in Apache 2.0.23.</dd>
-
- <dt><a name="indexoptions:suppressdescription">SuppressDescription</a></dt>
-
- <dd>
- This will suppress the file description in fancy indexing
- listings. By default, no file descriptions are defined, and
- so the use of this option will regain 23 characters of screen
- space to use for something else. See <a href="#adddescription"><code>AddDescription</code></a> for
- information about setting the file description. See also the
- <a href="#indexoptions:descriptionwidth"><code>DescriptionWidth</code></a>
- index option to limit the size of the description
- column.</dd>
-
- <dt><a name="indexoptions:suppresshtmlpreamble">SuppressHTMLPreamble</a>
- (<em>Apache 1.3 and later</em>)</dt>
-
- <dd>
- If the directory actually contains a file specified by the
- <a href="#headername" class="directive"><code class="directive">HeaderName</code></a>
- directive, the module usually includes the contents of the file
- after a standard HTML preamble (<HTML>, <HEAD>,
- <em>et cetera</em>). The SuppressHTMLPreamble option disables
- this behaviour, causing the module to start the display with the
- header file contents. The header file must contain appropriate
- HTML instructions in this case. If there is no header file, the
- preamble is generated as usual.</dd>
-
- <dt><a name="indexoptions:suppressicon">SuppressIcon</a> (<em>Apache
- 2.0.23 and later</em>)</dt>
-
- <dd>
- This will suppress the icon in fancy indexing listings.
- Combining both <em>SuppressIcon</em> and
- <em>SuppressRules</em> yields proper HTML 3.2 output, which
- by the final specification prohibits IMG and HR tags from the
- PRE block (used to format FancyIndexed listings.)</dd>
-
- <dt><a name="indexoptions:suppresslastmodified">SuppressLastModified</a></dt>
-
- <dd>
- This will suppress the display of the last modification date,
- in fancy indexing listings.</dd>
-
- <dt><a name="indexoptions:suppressrules">SuppressRules</a>
- (<em>Apache 2.0.23 and later</em>)</dt>
-
- <dd>
- This will suppress the horizontal rule lines (HR tags) in
- directory listings. Combining both <em>SuppressIcon</em> and
- <em>SuppressRules</em> yeilds proper HTML 3.2 output, which
- by the final specification prohibits IMG and HR tags from the
- PRE block (used to format FancyIndexed listings.)</dd>
-
- <dt><a name="indexoptions:suppresssize">SuppressSize</a></dt>
-
- <dd>
- This will suppress the file size in fancy indexing
- listings.</dd>
-
- <dt><a name="indexoptions:trackmodified">TrackModified (<em>Apache
- 1.3.15 or 2.0.23 and later</em>)</a></dt>
-
- <dd>
- This returns the Last-Modified and ETag values for the listed
- directory in the HTTP header. It is only valid if the
- operating system and file system return appropriate stat()
- results. Some Unix systems do so, as do OS2's JFS and Win32's
- NTFS volumes. OS2 and Win32 FAT volumes, for example, do not.
- Once this feature is enabled, the client or proxy can track
- changes to the list of files when they perform a HEAD
- request. Note some operating systems correctly track new and
- removed files, but do not track changes for sizes or dates of
- the files within the directory. <strong>Changes to the size
- or date stamp of an existing file will not update the
- Last-Modified header on all Unix platforms.</strong> If this
- is a concern, leave this option disabled.</dd>
-
- <dt><a name="indexoptions:versionsort">VersionSort (<em>Apache 2.0a3
- and later</em>)</a></dt>
-
- <dd>
- The VersionSort keyword causes files containing version
- numbers to sort in a natural way. Strings are sorted as
- usual, except that substrings of digits in the name and
- description are compared according to their numeric value.
- For example:
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-foo-1.7<br>
-foo-1.7.2<br>
-foo-1.7.12<br>
-foo-1.8.2<br>
-foo-1.8.2a<br>
-foo-1.12<br>
-</code></td></tr></table></blockquote>
- If the number starts with a zero, then it is considered to
- be a fraction:
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-foo-1.001<br>
-foo-1.002<br>
-foo-1.030<br>
-foo-1.04
-</code></td></tr></table></blockquote>
- </dd>
-
- <dd>
- <strong>Incremental IndexOptions</strong>
- </dd>
-
- <dd>
- Apache 1.3.3 introduced some significant changes in the
- handling of <code class="directive">IndexOptions</code> directives. In
- particular,<br>
- <br>
-
-
- <ul>
- <li>Multiple <code class="directive">IndexOptions</code> directives for a
- single directory are now merged together. The result of
- the example above will now be the equivalent of
- <code>IndexOptions FancyIndexing ScanHTMLTitles</code>.</li>
-
- <li>The addition of the incremental syntax
- (<em>i.e.</em>, prefixing keywords with '+' or '-').</li>
- </ul>
- <br>
- Whenever a '+' or '-' prefixed keyword is encountered, it
- is applied to the current <code class="directive">IndexOptions</code>
- settings (which may have been inherited from an upper-level
- directory). However, whenever an unprefixed keyword is
- processed, it clears all inherited options and any
- incremental settings encountered so far. Consider the
- following example:
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>IndexOptions +ScanHTMLTitles -IconsAreLinks
- FancyIndexing<br>
- IndexOptions +SuppressSize<br>
-</code></td></tr></table></blockquote>
- The net effect is equivalent to
- <code>IndexOptions FancyIndexing +SuppressSize</code>,
- because the unprefixed <code>FancyIndexing</code> discarded
- the incremental keywords before it, but allowed them to
- start accumulating again afterward.<br>
- <br>
- To unconditionally set the <code class="directive">IndexOptions</code> for a
- particular directory, clearing the inherited settings,
- specify keywords without any '+' or '-' prefixes.
- </dd>
- </dl>
-<hr/><h2><a name="IndexOrderDefault">IndexOrderDefault</a> <a name="indexorderdefault">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the default ordering of the directory index</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>IndexOrderDefault
-Ascending|Descending Name|Date|Size|Description</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">IndexOrderDefault</code> directive is used
- in combination with the <a href="#indexoptions:fancyindexing"><code>FancyIndexing</code></a>
- index option. By default, fancyindexed directory listings are
- displayed in ascending order by filename; the
- <code class="directive">IndexOrderDefault</code> allows you to change this initial
- display order.</p>
-
- <p><code class="directive">IndexOrderDefault</code> takes two
- arguments. The first must be either <code>Ascending</code> or
- <code>Descending</code>, indicating the direction of the sort.
- The second argument must be one of the keywords <code>Name</code>,
- <code>Date</code>, <code>Size</code>, or <code>Description</code>,
- and identifies the primary key. The secondary key is
- <em>always</em> the ascending filename.</p>
-
- <p>You can force a directory listing to only be displayed in a
- particular order by combining this directive with the <a href="#indexoptions:suppresscolumnsorting"><code>SuppressColumnSorting</code></a>
- index option; this will prevent the client from requesting the
- directory listing in a different order.</p>
-<hr/><h2><a name="ReadmeName">ReadmeName</a> <a name="readmename">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ReadmeName <em>filename</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_autoindex</td></tr></table></td></tr></table>
- <p>The <code class="directive">ReadmeName</code> directive sets the name
- of the file that will be appended to the end of the index
- listing. <em>Filename</em> is the name of the file to include, and
- is taken to be relative to the location being indexed.</p>
-
- <p>See also <a href="#headername" class="directive"><code class="directive">HeaderName</code></a>, where this behavior
- is described in greater detail.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_cache- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_cache</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Content cache keyed to URIs</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>cache_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
-<blockquote><table><tr><td bgcolor="#ffe5f5">
-This module is experimental. Documentation is still under development...
-</td></tr></table></blockquote>
- <p>mod_cache implements an RFC 2616 compliant HTTP content
- cache that can be used to cache either local or proxied content.
- mod_cache requires the services of one or more storage
- management modules. Two storage management modules are included in
- the base Apache distribution:</p>
- <dl>
- <dt><em>mod_disk_cache</em></dt>
- <dd>implements a disk based storage manager for use with mod_proxy</dd>
- <dt><em>mod_mem_cache</em></dt>
- <dd>implements an in-memory based storage manager. mod_mem_cache
- can be configured to operate in two modes: caching open file
- descriptors or caching objects in heap storage. <em>mod_mem_cache</em>
- is most useful when used to cache locally generated content or to cache
- backend server content for mod_proxy configured for ProxyPass (aka <em>reverse proxy</em>)</dd>
- </dl>
- <p>Content stored and retrived keyed to the URL. Content with
- access protections is not cached.</p>
-<h2>Directives</h2><ul><li><a href="#cachedefaultexpire">CacheDefaultExpire</a></li><li><a href="#cachedisable">CacheDisable</a></li><li><a href="#cacheenable">CacheEnable</a></li><li><a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li><li><a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li><li><a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li><li><a href="#cachemaxexpire">CacheMaxExpire</a></li><li><a href="#cacheon">CacheOn</a></li></ul><h2>Sample Configuration</h2>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Sample httpd.conf</strong></p><code>
-
-# <br>
-# Sample Cache Configuration <br>
-# <br>
-LoadModule cache_module modules/mod_cache.so <br>
-<IfModule mod_cache.c><br>
- CacheOn On<br>
-<p></p>
- #LoadModule disk_cache_module modules/mod_disk_cache.so <br>
- <IfModule mod_disk_cache.c> <br>
- CacheRoot c:/cacheroot <br>
- CacheSize
- CacheEnable disk / <br>
- CacheDirLevels 5 <br>
- CacheDirLength 3 <br>
- </IfModule> <br>
-<p></p>
- LoadModule mem_cache_module modules/mod_mem_cache.so <br>
- <IfModule mod_mem_cache.c> <br>
- MCacheEnable mem / <br>
- MCacheSize 4096 <br>
- MCacheMaxObjectCount 100 <br>
- MCacheMinObjectSize 1 <br>
- MCacheMaxObjectSize 2048 <br>
- </IfModule> <br>
-<p></p>
-</IfModule> <br>
-
-</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td/></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>The default time in seconds to cache a document.</p>
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheDefaultExpire 86400
- </code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheDisable">CacheDisable</a> <a name="cachedisable">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Disable caching of specified URLs by specified storage manager</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CacheDisable <em>cache_type </em> <em> url-string</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>The <code class="directive">CacheDisable</code> directive instructs
- mod_cache to <em>not</em> cache urls at or above <em>url-string</em>.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- CacheDisable disk /local_files
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheEnable">CacheEnable</a> <a name="cacheenable">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enable caching specified URLs in a specified storage manager</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CacheEnable <em>cache_type </em><em> url-string</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>The <code class="directive">CacheEnable</code> directive instructs
- mod_cache to cache urls at or below <em>url-string</em>.
- The cache store is specified with the <em>cache_type</em> argument.
- <em>cache_type </em> <em> mem</em> instructs mod_cache to use the
- in-memory cache storage manager implemented by <em>mod_mem_cache</em>.
- <em>cache_type </em> <em> disk</em> instructs mod_cache to use the
- cache storage manager implemented by <em>mod_disk_cache </em>. </p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheEnable disk / <br>
- CacheEnable mem /manual <br>
- CacheEnable fd /images <br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Ignore requests from the client for uncached content</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td/></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>Ignore requests from the client for uncached content</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheIgnoreNoLastMod
- </code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Ignore responses where there is no Last Modified Header</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td/></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>Ignore responses where there is no Last Modified Header</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheIgnoreNoLastMod
- </code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The factor used to estimate the Expires date from the LastModified date</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td/></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>The factor used to estimate the Expires date from the LastModified date.</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheLastModifiedFactor
- </code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheMaxExpire">CacheMaxExpire</a> <a name="cachemaxexpire">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The maximum time in seconds to cache a document</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td/></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>The maximum time in seconds to cache a document.</p>
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheMaxExpire 604800
- </code></td></tr></table></blockquote>
-<hr/><h2><a name="CacheOn">CacheOn</a> <a name="cacheon">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CacheOn</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cache</td></tr></table></td></tr></table>
- <p>
- </p>
-
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- CacheOn
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_cern_meta- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_cern_meta</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>CERN httpd metafile semantics</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>cern_meta_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP
- headers that can be output in addition to the normal range of
- headers for each file accessed. They appear rather like the
- Apache .asis files, and are able to provide a crude way of
- influencing the Expires: header, as well as providing other
- curiosities. There are many ways to manage meta information,
- this one was chosen because there is already a large number of
- CERN users who can exploit this module.</p>
-
- <p>More information on the <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">
- CERN metafile semantics</a> is available.</p>
-<h2>Directives</h2><ul><li><a href="#metadir">MetaDir</a></li><li><a href="#metafiles">MetaFiles</a></li><li><a href="#metasuffix">MetaSuffix</a></li></ul><hr/><h2><a name="MetaDir">MetaDir</a> <a name="metadir">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Name of the directory to find CERN-style meta information
-files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MetaDir <em>directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MetaDir .web</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cern_meta</td></tr></table></td></tr></table>
- <p>Specifies the name of the directory in which Apache can find
- meta information files. The directory is usually a 'hidden'
- subdirectory of the directory that contains the file being
- accessed. Set to "<code>.</code>" to look in the same directory
- as the file.</p>
-<hr/><h2><a name="MetaFiles">MetaFiles</a> <a name="metafiles">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Activates CERN meta-file processing</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MetaFiles on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MetaFiles off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cern_meta</td></tr></table></td></tr></table>
- <p>Turns on/off Meta file processing on a per-directory basis.</p>
-<hr/><h2><a name="MetaSuffix">MetaSuffix</a> <a name="metasuffix">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>File name suffix for the file containg CERN-style
-meta information</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MetaSuffix <em>suffix</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MetaSuffix .meta</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cern_meta</td></tr></table></td></tr></table>
- <p>Specifies the file name suffix for the file containing the
- meta information. For example, the default values for the two
- directives will cause a request to
- <code>DOCUMENT_ROOT/somedir/index.html</code> to look in
- <code>DOCUMENT_ROOT/somedir/.web/index.html.meta</code> and
- will use its contents to generate additional MIME header
- information.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_cgi- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_cgi</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Execution of CGI scripts</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>cgi_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
-
-
-
- <p>Any file that has the mime type
- <code>application/x-httpd-cgi</code> or handler
- <code>cgi-script</code> (Apache 1.1 or later) will be treated
- as a CGI script, and run by the server, with its output being
- returned to the client. Files acquire this type either by
- having a name containing an extension defined by the
- <a href="mod_mime.html#addtype" class="directive"><code class="directive">AddType</code></a> directive, or by being
- in a <a href="mod_alias.html#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a>
- directory.</p>
-
- <p>When the server invokes a CGI script, it will add a variable
- called <code>DOCUMENT_ROOT</code> to the environment. This
- variable will contain the value of the
- <a href="core.html#documentroot" class="directive"><code class="directive">DocumentRoot</code></a> configuration
- variable.</p>
-
- <p>For an introduction to using CGI scripts with Apache, see
- our tutorial on <a href="../howto/cgi.html">Dynamic Content
- With CGI</a>.</p>
-
- <p>When using a multi-threaded MPM under unix, the module
- <code><a href="mod_cgid.html">mod_cgid</a></code> should be used in place of
- this module. At the user level, the two modules are essentially
- identical.</p>
-<h2>Directives</h2><ul><li><a href="#scriptlog">ScriptLog</a></li><li><a href="#scriptlogbuffer">ScriptLogBuffer</a></li><li><a href="#scriptloglength">ScriptLogLength</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#options" class="directive"><code class="directive">Options</code></a></li><li><a href="mod_alias.html#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a></li><li><a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a></li></ul><h2>CGI Environment variables</h2>
- <p>The server will set the CGI environment variables as described
- in the <a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI
- specification</a>, with the following provisions:</p>
-
- <dl>
- <dt>PATH_INFO</dt>
-
- <dd>This will not be available if the <a href="core.html#acceptpathinfo" class="directive"><code class="directive">AcceptPathInfo</code></a> directive is explicitly set to
- <code>off</code>. The default behavior, if AcceptPathInfo is
- not given, is that mod_cgi will accept path info (trailing
- /more/path/info following the script filename in the URI), while
- the core server will return a 404 NOT FOUND error for requests
- with additional path info. Omitting the AcceptPathInfo
- directive has the same effect as setting it <code>on</code> for
- mod_cgi requests.</dd>
-
- <dt>REMOTE_HOST</dt>
-
- <dd>This will only be set if <a href="core.html#hostnamelookups" class="directive"><code class="directive">HostnameLookups</code></a> is set to <code>on</code> (it
- is off by default), and if a reverse DNS lookup of the accessing
- host's address indeed finds a host name.</dd>
-
- <dt>REMOTE_IDENT</dt>
-
- <dd>This will only be set if <a href="core.html#identitycheck" class="directive"><code class="directive">IdentityCheck</code></a> is set to
- <code>on</code> and the accessing host supports the ident
- protocol. Note that the contents of this variable cannot be
- relied upon because it can easily be faked, and if there is a
- proxy between the client and the server, it is usually
- totally useless.</dd>
-
- <dt>REMOTE_USER</dt>
-
- <dd>This will only be set if the CGI script is subject to
- authentication.</dd>
- </dl>
-<h2><a name="cgi_debug">CGI Debugging</a></h2>
- <p>Debugging CGI scripts has traditionally been difficult, mainly
- because it has not been possible to study the output (standard
- output and error) for scripts which are failing to run
- properly. These directives, included in Apache 1.2 and later,
- provide more detailed logging of errors when they occur. </p>
-
-<h3>CGI Logfile Format</h3>
- <p>When configured, the CGI error log logs any CGI which does not
- execute properly. Each CGI script which fails to operate causes
- several lines of information to be logged. The first two lines
- are always of the format:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- %% [<em>time</em>] <em>request-line</em><br>
- %% <em>HTTP-status</em> <em>CGI-script-filename</em>
-</code></td></tr></table></blockquote>
- <p>If the error is that CGI script cannot be run, the log file
- will contain an extra two lines:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- %%error<br>
- <em>error-message</em>
-</code></td></tr></table></blockquote>
- <p>Alternatively, if the error is the result of the script
- returning incorrect header information (often due to a bug in
- the script), the following information is logged: </p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- %request<br>
- <em>All HTTP request headers received</em><br>
- <em>POST or PUT entity (if any)</em><br>
- %response<br>
- <em>All headers output by the CGI script</em><br>
- %stdout<br>
- <em>CGI standard output</em><br>
- %stderr<br>
- <em>CGI standard error</em><br>
-</code></td></tr></table></blockquote>
- <p>(The %stdout and %stderr parts may be missing if the script did
- not output anything on standard output or standard error). </p>
-
-<hr/><h2><a name="ScriptLog">ScriptLog</a> <a name="scriptlog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Location of the CGI script error logfile</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptLog <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="mod_cgi.html">mod_cgi</a></code>, <code><a href="mod_cgid.html">mod_cgid</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">ScriptLog</code> directive sets the CGI
- script error logfile. If no ScriptLog is given, no error log is
- created. If given, any CGI errors are logged into the filename
- given as argument. If this is a relative file or path it is taken
- relative to the server root.</p>
-
- <p>This log will be opened as the user the child processes run
- as, ie. the user specified in the main <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> directive. This means that
- either the directory the script log is in needs to be writable
- by that user or the file needs to be manually created and set
- to be writable by that user. If you place the script log in
- your main logs directory, do <strong>NOT</strong> change the
- directory permissions to make it writable by the user the child
- processes run as.</p>
-
- <p>Note that script logging is meant to be a debugging feature
- when writing CGI scripts, and is not meant to be activated
- continuously on running servers. It is not optimized for speed
- or efficiency, and may have security problems if used in a
- manner other than that for which it was designed.</p>
-<hr/><h2><a name="ScriptLogBuffer">ScriptLogBuffer</a> <a name="scriptlogbuffer">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum amount of PUT or POST requests that will be recorded
-in the scriptlog</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptLogBuffer <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ScriptLogBuffer 1024</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="mod_cgi.html">mod_cgi</a></code>, <code><a href="mod_cgid.html">mod_cgid</a></code></td></tr></table></td></tr></table>
- <p>The size of any PUT or POST entity body that is logged to
- the file is limited, to prevent the log file growing too big
- too quickly if large bodies are being received. By default, up
- to 1024 bytes are logged, but this can be changed with this
- directive.</p>
-<hr/><h2><a name="ScriptLogLength">ScriptLogLength</a> <a name="scriptloglength">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Size limit of the CGI script logfile</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptLogLength <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ScriptLogLength 10385760</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="mod_cgi.html">mod_cgi</a></code>, <code><a href="mod_cgid.html">mod_cgid</a></code></td></tr></table></td></tr></table>
- <p><code class="directive">ScriptLogLength</code> can be used to limit the
- size of the CGI script logfile. Since the logfile logs a lot of
- information per CGI error (all request headers, all script output)
- it can grow to be a big file. To prevent problems due to unbounded
- growth, this directive can be used to set an maximum file-size for
- the CGI logfile. If the file exceeds this size, no more
- information will be written to it.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_cgid- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_cgid</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Execution of CGI scripts using an
- external CGI daemon</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>cgid_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Unix threaded MPMs only</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>Except for the optimizations and the additional <a href="#scriptsock" class="directive"><code class="directive">ScriptSock</code></a> directive noted below,
- mod_cgid behaves similarly to mod_cgi. <strong>See the
- <code><a href="mod_cgi.html">mod_cgi</a></code> Summary for additional details about
- Apache and CGI.</strong></p>
-
- <p>On certain unix operating systems, forking a process from a
- multi-threaded server is a very expensive operation because the
- new process will replicate all the threads of the parent
- process. In order to avoid incurring this expense on each CGI
- invocation, mod_cgid creates an external daemon that is
- responsible for forking child processes to run CGI scripts. The
- main server communicates with this daemon using a unix domain
- socket.</p>
-
- <p>This module is used by default whenever a multi-threaded MPM
- is selected during the compilation process. At the user level,
- this module is identical in configuration and operation to
- <code><a href="mod_cgi.html">mod_cgi</a></code>. The only exception is the
- additional directive <code>ScriptSock</code> which gives the
- name of the socket to use for communication with the cgi
- daemon.</p>
-<h2>Directives</h2><ul><li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li><li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li><li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li><li><a href="#scriptsock">ScriptSock</a></li></ul><hr/><h2><a name="ScriptSock">ScriptSock</a> <a name="scriptsock">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScriptSock <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ScriptSock logs/cgisock</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_cgid</td></tr></table></td></tr></table>
- <p>This directive sets the name of the socket to use for
- communication with the CGI daemon. The socket will be opened
- using the permissions of the user who starts Apache (usually
- root). To maintain the security of communications with CGI
- scripts, it is important that no other user has permission to
- write in the directory where the socket is located.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_charset_lite- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_charset_lite</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Specify character set translation or recoding</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>charset_lite_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This is an <strong>experimental</strong> module and should
- be used with care. Experiment with your
- <code>mod_charset_lite</code> configuration to ensure that it
- performs the desired function.</p>
-
- <p><code><a href="mod_charset_lite.html">mod_charset_lite</a></code> allows the administrator to
- specify the source character set of objects as well as the
- character set they should be translated into before sending to the
- client. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> does not translate the
- data itself but instead tells Apache what translation to
- perform. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is applicable to EBCDIC
- and ASCII host environments. In an EBCDIC environment, Apache
- normally translates text content from the code page of the Apache
- process locale to ISO-8859-1. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>
- can be used to specify that a different translation is to be
- performed. In an ASCII environment, Apache normally performs no
- translation, so <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is needed in
- order for any translation to take place.</p>
-
- <p>This module provides a small subset of configuration
- mechanisms implemented by Russian Apache and its associated
- <code>mod_charset</code>.</p>
-<h2>Directives</h2><ul><li><a href="#charsetdefault">CharsetDefault</a></li><li><a href="#charsetoptions">CharsetOptions</a></li><li><a href="#charsetsourceenc">CharsetSourceEnc</a></li></ul><h2>Common Problems</h2>
-
-<h3>Invalid character set names</h3>
-
- <p>The character set name parameters of <a href="#charsetsourceenc" class="directive"><code class="directive">CharsetSourceEnc</code></a> and
- <a href="#charsetdefault" class="directive"><code class="directive">CharsetDefault</code></a>
- must be acceptable to the translation mechanism used by APR on the
- system where <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is deployed. These
- character set names are not standardized and are usually not the
- same as the corresponding values used in http headers. Currently,
- APR can only use iconv(3), so you can easily test your character
- set names using the iconv(1) program, as follows:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- iconv -f charsetsourceenc-value -t charsetdefault-value
-</code></td></tr></table></blockquote>
-
-
-<h3>Mismatch between character set of content and translation
- rules</h3>
-
- <p>If the translation rules don't make sense for the content,
- translation can fail in various ways, including:</p>
-
- <ul>
- <li>The translation mechanism may return a bad return code,
- and the connection will be aborted.</li>
-
- <li>The translation mechanism may silently place special
- characters (e.g., question marks) in the output buffer when
- it cannot translate the input buffer.</li>
- </ul>
-
-<hr/><h2><a name="CharsetDefault">CharsetDefault</a> <a name="charsetdefault">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Charset to translate into</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CharsetDefault <em>charset</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table>
- <p>The <code class="directive">CharsetDefault</code> directive specifies the
- charset that content in the associated container should be
- translated to.</p>
-
- <p>The value of the <em>charset</em> argument must be accepted
- as a valid character set name by the character set support in
- APR. Generally, this means that it must be supported by
- iconv.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- <Directory "/export/home/trawick/apacheinst/htdocs/convert"><br>
- CharsetSourceEnc UTF-16BE<br>
- CharsetDefault ISO8859-1<br>
- </Directory>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="CharsetOptions">CharsetOptions</a> <a name="charsetoptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures charset tranlation behavior</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CharsetOptions <em>option</em> [<em>option</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>CharsetOptions DebugLevel=0
-NoImplicitAdd</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table>
- <p>The <code class="directive">CharsetOptions</code> directive configures certain
- behaviors of <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>. <em>Option</em> can
- be one of</p>
-
- <dl>
- <dt>DebugLevel=<em>n</em></dt>
-
- <dd>The <code>DebugLevel</code> keyword allows you to specify
- the level of debug messages generated by
- <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>. By default, no messages are
- generated. This is equivalent to <code>DebugLevel=0</code>.
- With higher numbers, more debug messages are generated, and
- server performance will be degraded. The actual meanings of
- the numeric values are described with the definitions of the
- DBGLVL_ constants near the beginning of
- <code>mod_charset_lite.c</code>.</dd>
-
- <dt>ImplicitAdd | NoImplicitAdd</dt>
-
- <dd>The <code>ImplicitAdd</code> keyword specifies that
- <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> should implicitly insert its
- filter when the configuration specifies that the character
- set of content should be translated. If the filter chain is
- explicitly configured using the AddOutputFilter directive,
- <code>NoImplicitAdd</code> should be specified so that
- <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> doesn't add its filter.</dd>
- </dl>
-<hr/><h2><a name="CharsetSourceEnc">CharsetSourceEnc</a> <a name="charsetsourceenc">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Source charset of files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CharsetSourceEnc <em>charset</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table>
- <p>The <code class="directive">CharsetSourceEnc</code> directive specifies the
- source charset of files in the associated container.</p>
-
- <p>The value of the <em>charset</em> argument must be accepted
- as a valid character set name by the character set support in
- APR. Generally, this means that it must be supported by
- iconv.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>example</strong></p><code>
- <Directory "/export/home/trawick/apacheinst/htdocs/convert"><br>
- CharsetSourceEnc UTF-16BE<br>
- CharsetDefault ISO8859-1<br>
- </Directory>
-</code></td></tr></table></blockquote>
- <p>The character set names in this example work with the iconv
- translation support in Solaris 8.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_dav- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_dav</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Distributed Authoring and Versioning
-(<a href="http://www.webdav.org/">WebDAV</a>) functionality</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>dav_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module provides class 1 and class 2 <a href="http://www.webdav.org">WebDAV</a> ('Web-based Distributed
- Authoring and Versioning') functionality for Apache. This
- extension to the HTTP protocol allows creating, moving,
- copying, and deleting resources and collections on a remote web
- server.</p>
-
- <p>To enable mod_dav, add the following to a container in your
- <code>httpd.conf</code> file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Dav On</code></td></tr></table></blockquote>
-
- <p>Also, specify a valid filename for the DAV lock database by
- adding the following to the global section in your
- <code>httpd.conf</code> file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>DavLockDB /tmp/DavLock
- <em>(Any web-server writable filename, without an
- extension)</em>
-</code></td></tr></table></blockquote>
-<h2>Directives</h2><ul><li><a href="#dav">Dav</a></li><li><a href="#davdepthinfinity">DavDepthInfinity</a></li><li><a href="#davlockdb">DavLockDB</a></li><li><a href="#davmintimeout">DavMinTimeout</a></li></ul><hr/><h2><a name="Dav">Dav</a> <a name="dav">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enable WebDAV HTTP methods</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Dav on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Dav off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_dav</td></tr></table></td></tr></table>
- <p>Use the <code class="directive">Dav</code> directive to enable the
- WebDAV HTTP methods for the given container. You may wish to add a
- <a href="core.html#limit" class="directive"><code class="directive"><Limit></code></a> clause
- inside the <a href="core.html#location" class="directive"><code class="directive"><location></code></a> directive to limit access to
- DAV-enabled locations.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- DavLockDB /tmp/DavLock<br>
- <br>
- <Location /foo><br>
- Dav On<br>
- <br>
- AuthType Basic<br>
- AuthName DAV<br>
- AuthUserFile user.passwd<br>
- <br>
- <LimitExcept GET HEAD OPTIONS><br>
- require user admin<br>
- </LimitExcept><br>
- </Location><br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="DavDepthInfinity">DavDepthInfinity</a> <a name="davdepthinfinity">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Allow PROPFIND, Depth: Infinity requests</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DavDepthInfinity on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>DavDepthInfinity off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_dav</td></tr></table></td></tr></table>
- <p>Use the <code class="directive">DavDepthInfinity</code> directive to
- allow the processing of PROPFIND requests containing the header
- 'Depth: Infinity'. Because this type of request could constitute a
- denial-of-service attack, by default it is not allowed.</p>
-<hr/><h2><a name="DavLockDB">DavLockDB</a> <a name="davlockdb">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Location of the DAV lock database</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DavLockDB <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_dav</td></tr></table></td></tr></table>
- <p>Use the <code class="directive">DavLockDB</code> directive to specify
- the full path to the lock database, excluding an extension. The
- default (file system) implementation of mod_dav uses a SDBM
- database to track user locks. The utility
- <code>modules/dav/util/lockview</code> can be used from the server
- to display all locks in a lock database.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-DavLockDB /tmp/DavLock
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="DavMinTimeout">DavMinTimeout</a> <a name="davmintimeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Minimum amount of time the server holds a lock on
-a DAV resource</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DavMinTimeout <em>seconds</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>DavMinTimeout 0</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_dav</td></tr></table></td></tr></table>
- <p>When a client requests a DAV resource lock, it can also
- specify a time when the lock will be automatically removed by
- the server. This value is only a request, and the server can
- ignore it or inform the client of an arbitrary value.</p>
-
- <p>Use the <code class="directive">DavMinTimeout</code> directive to specify, in
- seconds, the minimum lock timeout to return to a client.
- Microsoft Web Folders defaults to a timeout of 120 seconds; the
- <code class="directive">DavMinTimeout</code> can override this to a higher value
- (like 600 seconds) to reduce the chance of the client losing
- the lock due to network latency.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- <Location /MSWord><br>
- DavMinTimeout 600<br>
- </Location><br>
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_deflate- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_deflate</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Compress content before
- it is delivered to the client</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>deflate_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>The <code><a href="mod_deflate.html">mod_deflate</a></code> module provides
- the <code>DEFLATE</code> output filter that allows output from
- your server to be compressed before being sent to the client over
- the network.</p>
-<h2>Directives</h2><ul><li><a href="#deflatebuffersize">DeflateBufferSize</a></li><li><a href="#deflatefilternote">DeflateFilterNote</a></li><li><a href="#deflatememlevel">DeflateMemLevel</a></li><li><a href="#deflatewindowsize">DeflateWindowSize</a></li></ul><p><strong>See also </strong></p><ul><li><a href="mod_mime.html#addoutputfilter" class="directive"><code class="directive">AddOutputFilter</code></a></li><li><a href="core.html#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a></li></ul><h2>Enabling Compression</h2>
-
- <p>Compression is implemented by the <code>DEFLATE</code>
- <a href="../filter.html">filter</a>. The following directive
- will enable compression for documents in the container where it
- is placed:</p>
- <p><strong>Most popular browsers can not handle compression of all content
- so you may want to enable the 'gzip-only-text/html' note (see below)
- </strong></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>SetEnv gzip-only-text/html 1<br>
-SetOutputFilter DEFLATE
-</code></td></tr></table></blockquote>
-
- <p>Here is an example of enabling compression for the Apache
- documentation:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Directory "/your-server-root/manual"><br>
- SetEnv gzip-only-text/html 1<br>
- SetOutputFilter DEFLATE<br>
-</Directory>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Fragment size to be compressed at one time by zlib</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DeflateBufferSize <em>value</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_deflate</td></tr></table></td></tr></table>
- <p>The <code class="directive">DeflateBufferSize</code> directive specifies
- the size in bytes of the fragments that zlib should compress at one
- time.</p>
-<hr/><h2><a name="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Places the compression ratio in a note for logging</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DeflateFilterNote <em>notename</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_deflate</td></tr></table></td></tr></table>
- <p>The <code class="directive">DeflateFilterNote</code> directive
- specifies that a note about compression ratios should be attached
- to the request. The name of the note is the value specified for
- the directive.</p>
-<hr/><h2><a name="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Amount of memory available to zlib for compression</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DeflateMemLevel <em>value</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_deflate</td></tr></table></td></tr></table>
- <p>The <code class="directive">DeflateMemLevel</code> directive specifies
- the amount of memory in bytes available to zlib for compression.</p>
-<hr/><h2><a name="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Zlib compression window size</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DeflateWindowSize <em>value</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_deflate</td></tr></table></td></tr></table>
- <p>The <code class="directive">DeflateWindowSize</code> directive specifies the
- zlib compression window size (a value between 1 and 15).</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_dir- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_dir</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for "trailing slash" redirects and
- serving directory index files</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>dir_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>The index of a directory can come from one of two sources:</p>
-
- <ul>
- <li>A file written by the user, typically called
- <code>index.html</code>. The <a href="#directoryindex" class="directive"><code class="directive">DirectoryIndex</code></a> directive sets the
- name of this file. This is controlled by
- <code><a href="mod_dir.html">mod_dir</a></code>.</li>
-
- <li>Otherwise, a listing generated by the server. This is
- provided by <code><a href="mod_autoindex.html">mod_autoindex</a></code>.</li>
- </ul>
- <p>The two functions are separated so that you can completely
- remove (or replace) automatic index generation should you want
- to.</p>
-
- <p>A "trailing slash" redirect is issued when the server
- receives a request for a URL
- <code>http://servername/foo/dirname</code> where
- <code>dirname</code> is a directory. Directories require a
- trailing slash, so <code><a href="mod_dir.html">mod_dir</a></code> issues a redirect to
- <code>http://servername/foo/dirname/</code>.</p>
-<h2>Directives</h2><ul><li><a href="#directoryindex">DirectoryIndex</a></li></ul><hr/><h2><a name="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>List of resources to look for when the client requests
-a directory</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DirectoryIndex
- <em>local-url</em> [<em>local-url</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>DirectoryIndex index.html</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_dir</td></tr></table></td></tr></table>
- <p>The <code class="directive">DirectoryIndex</code> directive sets the
- list of resources to look for, when the client requests an index
- of the directory by specifying a / at the end of the a directory
- name. <em>Local-url</em> is the (%-encoded) URL of a document on
- the server relative to the requested directory; it is usually the
- name of a file in the directory. Several URLs may be given, in
- which case the server will return the first one that it finds. If
- none of the resources exist and the <code>Indexes</code> option is
- set, the server will generate its own listing of the
- directory.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-DirectoryIndex index.html
-</code></td></tr></table></blockquote>
-
- <p>then a request for <code>http://myserver/docs/</code> would
- return <code>http://myserver/docs/index.html</code> if it
- exists, or would list the directory if it did not.</p>
-
- <p>Note that the documents do not need to be relative to the
- directory;</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>DirectoryIndex index.html index.txt /cgi-bin/index.pl</code></td></tr></table></blockquote>
- <p>would cause the CGI script <code>/cgi-bin/index.pl</code> to be
- executed if neither <code>index.html</code> or
- <code>index.txt</code> existed in a directory.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_env- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_env</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Modifies the environment which is
- passed to CGI scripts and SSI pages</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>env_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module allows for control of the environment that will
- be provided to CGI scripts and SSI pages. Environment variables
- may be passed from the shell which invoked the httpd process.
- Alternatively, environment variables may be set or unset within
- the configuration process.</p>
- <h2>Directives</h2><ul><li><a href="#passenv">PassEnv</a></li><li><a href="#setenv">SetEnv</a></li><li><a href="#unsetenv">UnsetEnv</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../env.html">Environment Variables</a></li></ul><hr/><h2><a name="PassEnv">PassEnv</a> <a name="passenv">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Passes environment variables from the shell</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>PassEnv
- <em>env-variable</em> [<em>env-variable</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_env</td></tr></table></td></tr></table>
- <p>Specifies one or more environment variables to pass to CGI
- scripts and SSI pages from the environment of the shell which
- invoked the httpd process. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- PassEnv LD_LIBRARY_PATH
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SetEnv">SetEnv</a> <a name="setenv">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets environment variables</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetEnv <em>env-variable value</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_env</td></tr></table></td></tr></table>
- <p>Sets an environment variable, which is then passed on to CGI
- scripts and SSI pages. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- SetEnv SPECIAL_PATH /foo/bin
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="UnsetEnv">UnsetEnv</a> <a name="unsetenv">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes variables from the environment</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>UnsetEnv <em>env-variable</em> [<em>env-variable</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_env</td></tr></table></td></tr></table>
- <p>Removes one or more environment variables from those passed
- on to CGI scripts and SSI pages. Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- UnsetEnv LD_LIBRARY_PATH
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_example- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_example</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Illustrates the Apache module API</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>example_module</td></tr></table></td></tr></table><h2>Summary</h2>
-<blockquote><table><tr><td bgcolor="#ffe5f5">
- This document has not been updated
- to take into account changes made in the 2.0 version of the
- Apache HTTP Server. Some of the information may still be
- relevant, but please use it with care.
-</td></tr></table></blockquote>
-
- <p>The files in the <code>src/modules/example directory</code>
- under the Apache distribution directory tree are provided as an
- example to those that wish to write modules that use the Apache
- API.</p>
-
- <p>The main file is <code>mod_example.c</code>, which
- illustrates all the different callback mechanisms and call
- syntaxes. By no means does an add-on module need to include
- routines for all of the callbacks - quite the contrary!</p>
-
- <p>The example module is an actual working module. If you link
- it into your server, enable the "example-handler" handler for a
- location, and then browse to that location, you will see a
- display of some of the tracing the example module did as the
- various callbacks were made.</p>
-<h2>Directives</h2><ul><li><a href="#example">Example</a></li></ul><h2>Compiling the example module</h2>
-
- <p>To include the example module in your server, follow the
- steps below:</p>
-
- <ol>
- <li>
- Uncomment the "AddModule modules/example/mod_example" line
- near the bottom of the <code>src/Configuration</code> file.
- If there isn't one, add it; it should look like this:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddModule modules/example/mod_example.o
-</code></td></tr></table></blockquote>
- </li>
-
- <li>Run the <code>src/Configure</code> script
- ("<code>cd src; ./Configure</code>"). This will
- build the Makefile for the server itself, and update the
- <code>src/modules/Makefile</code> for any additional modules
- you have requested from beneath that subdirectory.</li>
-
- <li>Make the server (run "<code>make</code>" in the
- <code>src</code> directory).</li>
- </ol>
-
- <p>To add another module of your own:</p>
-
- <ol type="A">
- <li><code>mkdir src/modules/<em>mymodule</em></code></li>
-
- <li><code>cp src/modules/example/*
- src/modules/<em>mymodule</em></code></li>
-
- <li>Modify the files in the new directory.</li>
-
- <li>Follow steps [1] through [3] above, with appropriate
- changes.</li>
- </ol>
-<h2>Using the <code>mod_example</code> Module</h2>
-
- <p>To activate the example module, include a block similar to
- the following in your <code>srm.conf</code> file:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location /example-info><br>
- SetHandler example-handler<br>
- </Location>
-</code></td></tr></table></blockquote>
-
- <p>As an alternative, you can put the following into a <a href="core.html#accessfilename"><code>.htaccess</code></a> file
- and then request the file "test.example" from that location:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddHandler example-handler .example
-</code></td></tr></table></blockquote>
-
- <p>After reloading/restarting your server, you should be able
- to browse to this location and see the brief display mentioned
- earlier.</p>
-<hr/><h2><a name="Example">Example</a> <a name="example">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Demonstration directive to illustrate the Apache module
-API</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Example</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_example</td></tr></table></td></tr></table>
- <p>The <code class="directive">Example</code> directive just sets a demonstration
- flag which the example module's content handler displays. It
- takes no arguments. If you browse to an URL to which the
- example content-handler applies, you will get a display of the
- routines within the module and how and in what order they were
- called to service the document request. The effect of this
- directive one can observe under the point "<code>Example
- directive declared here: YES/NO</code>".</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_expires- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_expires</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Generation of
- <code>Expires</code> HTTP headers according to user-specified
- criteria</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>expires_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module controls the setting of the <code>Expires</code>
- HTTP header in server responses. The expiration date can set to
- be relative to either the time the source file was last
- modified, or to the time of the client access.</p>
-
- <p>The <code>Expires</code> HTTP header is an instruction to
- the client about the document's validity and persistence. If
- cached, the document may be fetched from the cache rather than
- from the source until this time has passed. After that, the
- cache copy is considered "expired" and invalid, and a new copy
- must be obtained from the source.</p>
-<h2>Directives</h2><ul><li><a href="#expiresactive">ExpiresActive</a></li><li><a href="#expiresbytype">ExpiresByType</a></li><li><a href="#expiresdefault">ExpiresDefault</a></li></ul><h2><a name="AltSyn">Alternate Interval
- Syntax</a></h2>
-
- <p>The <a href="#expiresdefault" class="directive"><code class="directive">ExpiresDefault</code></a> and
- <a href="#expiresbytype" class="directive"><code class="directive">ExpiresByType</code></a> directives
- can also be defined in a more readable syntax of the form:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ExpiresDefault "<base> [plus] {<num>
- <type>}*"<br>
- ExpiresByType type/encoding "<base> [plus]
- {<num> <type>}*"
-</code></td></tr></table></blockquote>
-
- <p>where <base> is one of:</p>
-
- <ul>
- <li><code>access</code></li>
-
- <li><code>now</code> (equivalent to
- '<code>access</code>')</li>
-
- <li><code>modification</code></li>
- </ul>
-
- <p>The '<code>plus</code>' keyword is optional. <num>
- should be an integer value [acceptable to <code>atoi()</code>],
- and <type> is one of:</p>
-
- <ul>
- <li><code>years</code></li>
-
- <li><code>months</code></li>
-
- <li><code>weeks</code></li>
-
- <li><code>days</code></li>
-
- <li><code>hours</code></li>
-
- <li><code>minutes</code></li>
-
- <li><code>seconds</code></li>
- </ul>
-
- <p>For example, any of the following directives can be used to
- make documents expire 1 month after being accessed, by
- default:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ExpiresDefault "access plus 1 month"<br>
- ExpiresDefault "access plus 4 weeks"<br>
- ExpiresDefault "access plus 30 days"
-</code></td></tr></table></blockquote>
-
- <p>The expiry time can be fine-tuned by adding several
- '<num> <type>' clauses:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-ExpiresByType text/html "access plus 1 month 15
- days 2 hours"<br>
- ExpiresByType image/gif "modification plus 5 hours 3
- minutes"
-</code></td></tr></table></blockquote>
-
- <p>Note that if you use a modification date based setting, the
- Expires header will <strong>not</strong> be added to content
- that does not come from a file on disk. This is due to the fact
- that there is no modification time for such content.</p>
-<hr/><h2><a name="ExpiresActive">ExpiresActive</a> <a name="expiresactive">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables generation of Expires headers</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExpiresActive On|Off</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_expires</td></tr></table></td></tr></table>
- <p>This directive enables or disables the generation of the
- <code>Expires</code> header for the document realm in question.
- (That is, if found in an <code>.htaccess</code> file, for
- instance, it applies only to documents generated from that
- directory.) If set to <em><code>Off</code></em>, no
- <code>Expires</code> header will be generated for any document
- in the realm (unless overridden at a lower level, such as an
- <code>.htaccess</code> file overriding a server config file).
- If set to <em><code>On</code></em>, the header will be added to
- served documents according to the criteria defined by the
- <a href="#expiresbytype" class="directive"><code class="directive">ExpiresByType</code></a> and
- <a href="#expiresdefault" class="directive"><code class="directive">ExpiresDefault</code></a> directives
- (<em>q.v.</em>).</p>
-
- <p>Note that this directive does not guarantee that an
- <code>Expires</code> header will be generated. If the criteria
- aren't met, no header will be sent, and the effect will be as
- though this directive wasn't even specified.</p>
-<hr/><h2><a name="ExpiresByType">ExpiresByType</a> <a name="expiresbytype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Value of the Expires header configured
-by MIME type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExpiresByType
- <em>MIME-type <code>seconds</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_expires</td></tr></table></td></tr></table>
- <p>This directive defines the value of the <code>Expires</code>
- header generated for documents of the specified type
- (<em>e.g.</em>, <code>text/html</code>). The second argument
- sets the number of seconds that will be added to a base time to
- construct the expiration date.</p>
-
- <p>The base time is either the last modification time of the
- file, or the time of the client's access to the document. Which
- should be used is specified by the
- <code><em><code></em></code> field; <strong>M</strong>
- means that the file's last modification time should be used as
- the base time, and <strong>A</strong> means the client's access
- time should be used.</p>
-
- <p>The difference in effect is subtle. If <em>M</em> is used,
- all current copies of the document in all caches will expire at
- the same time, which can be good for something like a weekly
- notice that's always found at the same URL. If <em>A</em> is
- used, the date of expiration is different for each client; this
- can be good for image files that don't change very often,
- particularly for a set of related documents that all refer to
- the same images (<em>i.e.</em>, the images will be accessed
- repeatedly within a relatively short timespan).</p>
-
- <p><strong>Example:</strong></p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-# enable expirations<br>
-ExpiresActive On<br>
-# expire GIF images after a month in the client's cache<br>
-ExpiresByType image/gif A2592000<br>
-# HTML documents are good for a week from the time they were changed<br>
-ExpiresByType text/html M604800
-</code></td></tr></table></blockquote>
-
- <p>Note that this directive only has effect if
- <code>ExpiresActive On</code> has been specified. It overrides,
- for the specified MIME type <em>only</em>, any expiration date
- set by the <a href="#expiresdefault" class="directive"><code class="directive">ExpiresDefault</code></a>
- directive.</p>
-
- <p>You can also specify the expiration time calculation using
- an <a href="#AltSyn">alternate syntax</a>, described earlier in
- this document.</p>
-<hr/><h2><a name="ExpiresDefault">ExpiresDefault</a> <a name="expiresdefault">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Default algorithm for calculating expiration time</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExpiresDefault <em><code>seconds</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_expires</td></tr></table></td></tr></table>
- <p>This directive sets the default algorithm for calculating the
- expiration time for all documents in the affected realm. It can be
- overridden on a type-by-type basis by the <a href="#expiresbytype" class="directive"><code class="directive">ExpiresByType</code></a> directive. See the
- description of that directive for details about the syntax of the
- argument, and the <a href="#AltSyn">alternate syntax</a>
- description as well.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_ext_filter- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_ext_filter</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Pass the response body
- through an external program before delivery to the
- client</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>ext_filter_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This is an <strong>experimental</strong> module and should
- be used with care. Test your <code><a href="mod_ext_filter.html">mod_ext_filter</a></code>
- configuration carefully to ensure that it performs the desired
- function. You may wish to review <a href="../filter.html">
- this information</a> for background on the Apache filtering
- model.</p>
-
- <p><code><a href="mod_ext_filter.html">mod_ext_filter</a></code> presents a simple and familiar
- programming model for filters. With this module, a program
- which reads from stdin and writes to stdout (i.e., a Unix-style
- filter command) can be a filter for Apache. This filtering
- mechanism is much slower than using a filter which is specially
- written for the Apache API and runs inside of the Apache server
- process, but it does have the following benefits:</p>
-
- <ul>
- <li>the programming model is much simpler</li>
-
- <li>any programming/scripting language can be used, provided
- that it allows the program to read from standard input and
- write to standard output</li>
-
- <li>existing programs can be used unmodified as Apache
- filters</li>
- </ul>
-
- <p>Even when the performance characteristics are not suitable
- for production use, <code>mod_ext_filter</code> can be used as
- a prototype environment for filters.</p>
-<h2>Directives</h2><ul><li><a href="#extfilterdefine">ExtFilterDefine</a></li><li><a href="#extfilteroptions">ExtFilterOptions</a></li></ul><h2>Examples</h2>
-
-<h3>Generating HTML from some other type of response</h3>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
- # mod_ext_filter directive to define a filter to HTML-ize text/c files
- # using the external program /usr/bin/enscript, with the type of the
- # result set to text/html
- ExtFilterDefine c-to-html mode=output intype=text/c outtype=text/html \
- cmd="/usr/bin/enscript --color -W html -Ec -o - -"
-
- <Directory "/export/home/trawick/apacheinst/htdocs/c">
-
- # core directive to cause the new filter to be run on output
- SetOutputFilter c-to-html
-
- # mod_mime directive to set the type of .c files to text/c
- AddType text/c .c
-
- # mod_ext_filter directive to set the debug level just high
- # enough to see a log message per request showing the configuration
- # in force
- ExtFilterOptions DebugLevel=1
-
- </Directory>
-</pre>
-</code></td></tr></table></blockquote>
-
-
-<h3>Implementing a content encoding filter</h3>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
- # mod_ext_filter directive to define the external filter
- ExtFilterDefine gzip mode=output cmd=/bin/gzip
-
- <Location /gzipped>
-
- # core directive to cause the gzip filter to be run on output
- SetOutputFilter gzip
-
- # mod_header directive to add "Content-Encoding: gzip" header field
- Header set Content-Encoding gzip
-
- </Location>
-</pre>
-</code></td></tr></table></blockquote>
-
- <p>Note: this gzip example is just for the purposes of illustration.
- Please refer to <code><a href="mod_deflate.html">mod_deflate</a></code> for a practical
- implementation.</p>
-
-
-<h3>Slowing down the server</h3>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
- # mod_ext_filter directive to define a filter which runs everything
- # through cat; cat doesn't modify anything; it just introduces extra
- # pathlength and consumes more resources
- ExtFilterDefine slowdown mode=output cmd=/bin/cat preservescontentlength
-
- <Location />
-
- # core directive to cause the slowdown filter to be run several times on
- # output
- SetOutputFilter slowdown slowdown slowdown
-
- </Location>
-</pre>
-</code></td></tr></table></blockquote>
-
-
-<hr/><h2><a name="ExtFilterDefine">ExtFilterDefine</a> <a name="extfilterdefine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExtFilterDefine <em>filtername</em> <em>parameters</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ext_filter</td></tr></table></td></tr></table>
- <p>The <code class="directive">ExtFilterDefine</code> directive defines the
- characteristics of an external filter, including the program to
- run and its arguments.</p>
-
- <p><em>filtername</em> specifies the name of the filter being
- defined. This name can then be used in SetOutputFilter
- directives. It must be unique among all registered filters.
- <em>At the present time, no error is reported by the
- register-filter API, so a problem with duplicate names isn't
- reported to the user.</em></p>
-
- <p>Subsequent parameters can appear in any order and define the
- external command to run and certain other characteristics. The
- only required parameter is <em>cmd=</em>. These parameters
- are:</p>
-
- <dl>
- <dt>cmd=<em>cmdline</em></dt>
-
- <dd>The <code>cmd=</code> keyword allows you to specify the
- external command to run. If there are arguments after the
- program name, the command line should be surrounded in
- quotation marks.</dd>
-
- <dt>mode=<em>mode</em></dt>
-
- <dd><em>mode</em> should be <em>output</em> for now (the
- default). In the future, <em>mode=input</em> will be used to
- specify a filter for request bodies.</dd>
-
- <dt>intype=<em>imt</em></dt>
-
- <dd>This parameter specifies the internet media type (i.e.,
- MIME type) of documents which should be filtered. By default,
- all documents are filtered. If <code>intype=</code> is
- specified, the filter will be disabled for documents of other
- types.</dd>
-
- <dt>outtype=<em>imt</em></dt>
-
- <dd>This parameter specifies the internet media type (i.e.,
- MIME type) of filtered documents. It is useful when the
- filter changes the internet media type as part of the
- filtering operation. By default, the internet media type is
- unchanged.</dd>
-
- <dt>PreservesContentLength</dt>
-
- <dd>The <code>PreservesContentLength</code> keyword specifies
- that the filter preserves the content length. This is not the
- default, as most filters change the content length. In the
- event that the filter doesn't modify the length, this keyword
- should be specified.</dd>
- </dl>
-<hr/><h2><a name="ExtFilterOptions">ExtFilterOptions</a> <a name="extfilteroptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExtFilterOptions
- <em>option</em> [<em>option</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ExtFilterOptions DebugLevel=0 NoLogStderr</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ext_filter</td></tr></table></td></tr></table>
- <p>The <code class="directive">ExtFilterOptions</code> directive specifies
- special processing options for <code>mod_ext_filter</code>.
- <em>Option</em> can be one of</p>
-
- <dl>
- <dt>DebugLevel=<em>n</em></dt>
-
- <dd>
- The <code>DebugLevel</code> keyword allows you to specify
- the level of debug messages generated by
- <code>mod_ext_filter</code>. By default, no debug messages
- are generated. This is equivalent to
- <code>DebugLevel=0</code>. With higher numbers, more debug
- messages are generated, and server performance will be
- degraded. The actual meanings of the numeric values are
- described with the definitions of the DBGLVL_ constants
- near the beginning of <code>mod_ext_filter.c</code>.
-
- <p>Note: The core directive LogLevel should be used to
- cause debug messages to be stored in the Apache error
- log.</p>
- </dd>
-
- <dt>LogStderr | NoLogStderr</dt>
-
- <dd>The <code>LogStderr</code> keyword specifies that
- messages written to standard error by the external filter
- program will be saved in the Apache error log.
- <code>NoLogStderr</code> disables this feature.</dd>
- </dl>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ExtFilterOptions LogStderr DebugLevel=0
-</code></td></tr></table></blockquote>
-
- <p>Messages written to the filter's standard error will be stored
- in the Apache error log. No debug messages will be generated by
- <code><a href="mod_ext_filter.html">mod_ext_filter</a></code>. </p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_file_cache- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_file_cache</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Caches a static list of files in memory</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>file_cache_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
-<blockquote><table><tr><td bgcolor="#ffe5f5">
-This module should be used with care. You can easily
- create a broken site using mod_file_cache, so read this
- document carefully.
-</td></tr></table></blockquote>
-
- <p><em>Caching</em> frequently requested files that change very
- infrequently is a technique for reducing server load.
- mod_file_cache provides two techniques for caching frequently
- requested <em>static</em> files. Through configuration
- directives, you can direct mod_file_cache to either open then
- mmap()a file, or to pre-open a file and save the file's open
- <em>file handle</em>. Both techniques reduce server load when
- processing requests for these files by doing part of the work
- (specifically, the file I/O) for serving the file when the
- server is started rather than during each request.</p>
-
- <p>Notice: You cannot use this for speeding up CGI programs or
- other files which are served by special content handlers. It
- can only be used for regular files which are usually served by
- the Apache core content handler.</p>
-
- <p>This module is an extension of and borrows heavily from the
- mod_mmap_static module in Apache 1.3.</p>
-<h2>Directives</h2><ul><li><a href="#cachefile">CacheFile</a></li><li><a href="#mmapfile">MMapFile</a></li></ul><h2>Using mod_file_cache</h2>
-
- <p><code><a href="mod_file_cache.html">mod_file_cache</a></code> caches a list of statically
- configured files via <a href="#mmapfile" class="directive"><code class="directive">MMapFile</code></a> or <a href="#cachefile" class="directive"><code class="directive">CacheFile</code></a> directives in the
- main server configuration.</p>
-
- <p>Not all platforms support both directives. For example, Apache
- on Windows does not currently support the <a href="#mmapstatic" class="directive"><code class="directive">MMapStatic</code></a> directive, while
- other platforms, like AIX, support both. You will receive an error
- message in the server error log if you attempt to use an
- unsupported directive. If given an unsupported directive, the
- server will start but the file will not be cached. On platforms
- that support both directives, you should experiment with both to
- see which works best for you.</p>
-
-<h3>MmapFile Directive</h3>
-
- <p>The <a href="#mmapfile" class="directive"><code class="directive">MmapFile</code></a>
- directive of <code><a href="mod_file_cache.html">mod_file_cache</a></code> maps a list of
- statically configured files into memory through the system call
- <code>mmap()</code>. This system call is available on most modern
- Unix derivates, but not on all. There are sometimes
- system-specific limits on the size and number of files that can be
- mmap()d, experimentation is probably the easiest way to find
- out.</p>
-
- <p>This mmap()ing is done once at server start or restart,
- only. So whenever one of the mapped files changes on the
- filesystem you <em>have</em> to restart the server (see the <a href="../stopping.html">Stopping and Restarting</a>
- documentation). To reiterate that point: if the files are
- modified <em>in place</em> without restarting the server you
- may end up serving requests that are completely bogus. You
- should update files by unlinking the old copy and putting a new
- copy in place. Most tools such as <code>rdist</code> and
- <code>mv</code> do this. The reason why this modules doesn't
- take care of changes to the files is that this check would need
- an extra <code>stat()</code> every time which is a waste and
- against the intent of I/O reduction.</p>
-
-
-<h3>CacheFile Directive</h3>
-
- <p>The <a href="#cachefile" class="directive"><code class="directive">CacheFile</code></a>
- directive of <code><a href="mod_file_cache.html">mod_file_cache</a></code> opens an active
- <em>handle</em> or <em>file descriptor</em> to the file (or files)
- listed in the configuration directive and places these open file
- handles in the cache. When the file is requested, the server
- retrieves the handle from the cache and passes it to the
- sendfile() (or TransmitFile() on Windows), socket API.</p>
-
- <p>Insert more details about sendfile API...</p>
-
- <p>This file handle caching is done once at server start or
- restart, only. So whenever one of the cached files changes on
- the filesystem you <em>have</em> to restart the server (see the
- <a href="../stopping.html">Stopping and Restarting</a>
- documentation). To reiterate that point: if the files are
- modified <em>in place</em> without restarting the server you
- may end up serving requests that are completely bogus. You
- should update files by unlinking the old copy and putting a new
- copy in place. Most tools such as <code>rdist</code> and
- <code>mv</code> do this.</p>
-
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p> Don't bother asking for a for a
- directive which recursively caches all the files in a
- directory. Try this instead... See the
- <a href="core.html#include" class="directive"><code class="directive">Include</code></a> directive, and consider
- this command:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- find /www/htdocs -type f -print \ <br>
- | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
-</code></td></tr></table></blockquote>
-</td></tr></table></blockquote>
-
-<hr/><h2><a name="CacheFile">CacheFile</a> <a name="cachefile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CacheFile
- <em>file-path</em> [<em>file-path</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_file_cache</td></tr></table></td></tr></table>
- <p>The <code class="directive">CacheFile</code> directive opens handles to
- one or more files (given as whitespace separated arguments) and
- places these handles into the cache at server startup
- time. Handles to cached files are automatically closed on a server
- shutdown. When the files have changed on the filesystem, the
- server should be restarted to to re-cache them.</p>
-
- <p>Be careful with the <em>file-path</em> arguments: They have
- to literally match the filesystem path Apache's URL-to-filename
- translation handlers create. We cannot compare inodes or other
- stuff to match paths through symbolic links <em>etc.</em>
- because that again would cost extra <code>stat()</code> system
- calls which is not acceptable. This module may or may not work
- with filenames rewritten by <code><a href="mod_alias.html">mod_alias</a></code> or
- <code><a href="mod_rewrite.html">mod_rewrite</a></code>.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- CacheFile /usr/local/apache/htdocs/index.html
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="MMapFile">MMapFile</a> <a name="mmapfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MMapFile <em>file-path</em> [<em>file-path</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_file_cache</td></tr></table></td></tr></table>
- <p>The <code class="directive">MMapFile</code> directive maps one or more files
- (given as whitespace separated arguments) into memory at server
- startup time. They are automatically unmapped on a server
- shutdown. When the files have changed on the filesystem at
- least a HUP or USR1 signal should be send to the server to
- re-mmap them.</p>
-
- <p>Be careful with the <em>file-path</em> arguments: They have
- to literally match the filesystem path Apache's URL-to-filename
- translation handlers create. We cannot compare inodes or other
- stuff to match paths through symbolic links <em>etc.</em>
- because that again would cost extra <code>stat()</code> system
- calls which is not acceptable. This module may or may not work
- with filenames rewritten by <code><a href="mod_alias.html">mod_alias</a></code> or
- <code><a href="mod_rewrite.html">mod_rewrite</a></code>.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- MMapFile /usr/local/apache/htdocs/index.html
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_headers- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_headers</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Customization of HTTP request
- and response headers</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>headers_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>RequestHeader is available only in Apache 2.0</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module provides directives to control and modify HTTP
- request and response headers. Headers can be merged, replaced
- or removed.</p>
-<h2>Directives</h2><ul><li><a href="#header">Header</a></li><li><a href="#requestheader">RequestHeader</a></li></ul><h2>Order of Processing</h2>
-
- <p>The directives provided by mod_header can occur almost
- anywhere within the server configuration. They are valid in the
- main server config and virtual host sections, inside
- <Directory>, <Location> and <Files> sections,
- and within .htaccess files.</p>
-
- <p>The directives are processed in the following order:</p>
-
- <ol>
- <li>main server</li>
-
- <li>virtual host</li>
-
- <li><Directory> sections and .htaccess</li>
-
- <li><Location></li>
-
- <li><Files></li>
- </ol>
-
- <p>Order is important. These two headers have a different
- effect if reversed:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-RequestHeader append MirrorID "mirror 12"<br>
- RequestHeader unset MirrorID
-</code></td></tr></table></blockquote>
-
- <p>This way round, the MirrorID header is not set. If reversed,
- the MirrorID header is set to "mirror 12".</p>
-<h2>Example</h2>
-
- <ol>
- <li>Copy all request headers that begin with "TS" to the
- response headers:
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Header echo ^TS*
-</code></td></tr></table></blockquote></li>
-
- <li>Add a header, MyHeader, to the response including a
- timestamp for when the request was received and how long it
- took to begin serving the request. This header can be used by
- the client to intuit load on the server or in isolating
- bottlenecks between the client and the server.
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Header add MyHeader "%D %t"
-</code></td></tr></table></blockquote>
- results in this header being added to the response:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- MyHeader: D=3775428 t=991424704447256
-</code></td></tr></table></blockquote>
- </li>
-
- <li>Say hello to Joe
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Header add MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request."
-</code></td></tr></table></blockquote>
- results in this header being added to the response:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request.
-</code></td></tr></table></blockquote>
- </li>
-
- <li>Conditionally send MyHeader on the response if and only
- if header "MyRequestHeader" is present on the request. This
- is useful for constructing headers in response to some client
- stimulus. Note that this example requires the services of the
- mod_setenvif module.
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br>
- Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
-</code></td></tr></table></blockquote>
- If the header "MyRequestHeader: value" is present on the
- HTTP request, the response will contain the following
- header:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- MyHeader: D=3775428 t=991424704447256 mytext
-</code></td></tr></table></blockquote>
- </li>
- </ol>
-<hr/><h2><a name="Header">Header</a> <a name="header">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configure HTTP response headers</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Header set|append|add|unset|echo <em>header</em>
-[<em>value</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_headers</td></tr></table></td></tr></table>
- <p>This directive can replace, merge or remove HTTP response
- headers. The header is modified just after the content handler
- and output filters are run, allowing outgoing headers to be
- modified. The action it performs is determined by the first
- argument. This can be one of the following values:</p>
-
- <ul>
- <li><strong>set</strong><br>
- The response header is set, replacing any previous header
- with this name. The <em>value</em> may be a format
- string.</li>
-
- <li><strong>append</strong><br>
- The response header is appended to any existing header of
- the same name. When a new value is merged onto an existing
- header it is separated from the existing header with a comma.
- This is the HTTP standard way of giving a header multiple
- values.</li>
-
- <li><strong>add</strong><br>
- The response header is added to the existing set of headers,
- even if this header already exists. This can result in two
- (or more) headers having the same name. This can lead to
- unforeseen consequences, and in general "append" should be
- used instead.</li>
-
- <li><strong>unset</strong><br>
- The response header of this name is removed, if it exists.
- If there are multiple headers of the same name, all will be
- removed.</li>
-
- <li><strong>echo</strong><br>
- Request headers with this name are echoed back in the
- response headers. <em>header</em> may be a regular
- expression.</li>
- </ul>
-
- <p>This argument is followed by a <em>header</em> name, which
- can include the final colon, but it is not required. Case is
- ignored for set, append, add and unset. The <em>header</em>
- name for echo is case sensitive and may be a regular
- expression.</p>
-
- <p>For <code>add</code>, <code>append</code> and
- <code>set</code> a <em>value</em> is specified as the third
- argument. If <em>value</em> contains spaces, it should be
- surrounded by doublequotes. <em>value</em> may be a character
- string, a string containing format specifiers or a combination
- of both. The following format specifiers are supported in
- <em>value</em>:</p>
-<table>
-<tr><td>%t: </td> <td>The time the request was received in Universal
-Coordinated Time since the epoch (Jan. 1, 1970) measured in
-microseconds. The value is preceded by "t=".</td></tr>
-
-<tr><td>%D: </td> <td>The time from when the request was received to
-the time the headers are sent on the wire. This is a measure of the
-duration of the request. The value is preceded by "D=".</td></tr>
-
-<tr><td>%{FOOBAR}e:</td> <td>The contents of the <a href="../env.html">environment
-variable</a> FOOBAR.</td></tr>
-</table>
-
- <p>When the <code class="directive">Header</code> directive is used with the
- <code>add</code>, <code>append</code>, or <code>set</code>
- argument, a fourth argument may be used to specify conditions
- under which the action will be taken. If the <a href="../env.html">environment variable</a> specified in the
- <code>env=...</code> argument exists (or if the environment
- variable does not exist and <code>env=!...</code> is specified)
- then the action specified by the <code class="directive">Header</code> directive
- will take effect. Otherwise, the directive will have no effect
- on the request.</p>
-
- <p>The Header directives are processed just before the response
- is sent to the network. These means that it is possible to set
- and/or override most headers, except for those headers added by
- the header filter.</p>
-<hr/><h2><a name="RequestHeader">RequestHeader</a> <a name="requestheader">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configure HTTP request headers</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RequestHeader set|append|add|unset <em>header</em>
-[<em>value</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_headers</td></tr></table></td></tr></table>
- <p>This directive can replace, merge or remove HTTP request
- headers. The header is modified just before the content handler
- is run, allowing incoming headers to be modified. The action it
- performs is determined by the first argument. This can be one
- of the following values:</p>
-
- <ul>
- <li><strong>set</strong><br>
- The request header is set, replacing any previous header
- with this name</li>
-
- <li><strong>append</strong><br>
- The request header is appended to any existing header of the
- same name. When a new value is merged onto an existing header
- it is separated from the existing header with a comma. This
- is the HTTP standard way of giving a header multiple
- values.</li>
-
- <li><strong>add</strong><br>
- The request header is added to the existing set of headers,
- even if this header already exists. This can result in two
- (or more) headers having the same name. This can lead to
- unforeseen consequences, and in general "append" should be
- used instead.</li>
-
- <li><strong>unset</strong><br>
- The request header of this name is removed, if it exists. If
- there are multiple headers of the same name, all will be
- removed.</li>
- </ul>
-
- <p>This argument is followed by a header name, which can
- include the final colon, but it is not required. Case is
- ignored. For <code>add</code>, <code>append</code> and
- <code>set</code> a value is given as the third argument. If
- this value contains spaces, it should be surrounded by double
- quotes. For unset, no value should be given.</p>
-
- <p>The <code class="directive">RequestHeader</code> directive is processed
- just before the request is run by its handler in the fixup phase.
- This should allow headers generated by the browser, or by Apache
- input filters to be overridden or modified.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_imap- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_imap</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Server-side imagemap processing</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>imap_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module processes <code>.map</code> files, thereby
- replacing the functionality of the <code>imagemap</code> CGI
- program. Any directory or document type configured to use the
- handler <code>imap-file</code> (using either
- <a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a> or
- <a href="core.html#sethandler" class="directive"><code class="directive">SetHandler</code></a>)
- will be processed by this module.</p>
-
- <p>The following directive will activate files ending with
- <code>.map</code> as imagemap files:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddHandler imap-file map</code></td></tr></table></blockquote>
-
- <p>Note that the following is still supported:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddType application/x-httpd-imap map</code></td></tr></table></blockquote>
-
- <p>However, we are trying to phase out "magic MIME types" so we
- are deprecating this method.</p>
-<h2>Directives</h2><ul><li><a href="#imapbase">ImapBase</a></li><li><a href="#imapdefault">ImapDefault</a></li><li><a href="#imapmenu">ImapMenu</a></li></ul><h2>New Features</h2>
-
- <p>The imagemap module adds some new features that were not
- possible with previously distributed imagemap programs.</p>
-
- <ul>
- <li>URL references relative to the Referer: information.</li>
-
- <li>Default <BASE> assignment through a new map
- directive <code>base</code>.</li>
-
- <li>No need for <code>imagemap.conf</code> file.</li>
-
- <li>Point references.</li>
-
- <li>Configurable generation of imagemap menus.</li>
- </ul>
-<h2>Imagemap File</h2>
-
- <p>The lines in the imagemap files can have one of several
- formats:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- directive value [x,y ...]<br>
- directive value "Menu text" [x,y ...]<br>
- directive value x,y ... "Menu text"
-</code></td></tr></table></blockquote>
- <p>The directive is one of <code>base</code>,
- <code>default</code>, <code>poly</code>, <code>circle</code>,
- <code>rect</code>, or <code>point</code>. The value is an
- absolute or relative URL, or one of the special values listed
- below. The coordinates are <code>x,y</code> pairs separated by
- whitespace. The quoted text is used as the text of the link if
- a imagemap menu is generated. Lines beginning with '#' are
- comments.</p>
-
-<h3>Imagemap File Directives</h3>
- <p>There are six directives allowed in the imagemap file. The
- directives can come in any order, but are processed in the
- order they are found in the imagemap file.</p>
-
- <dl>
- <dt><code>base</code> Directive</dt>
-
- <dd>Has the effect of <code><BASE HREF="value"></code>.
- The non-absolute URLs of the map-file are taken relative to
- this value. The <code>base</code> directive overrides
- ImapBase as set in a .htaccess file or in the server
- configuration files. In the absence of an ImapBase
- configuration directive, <code>base</code> defaults to
- <code>http://server_name/</code>.<br>
- <code>base_uri</code> is synonymous with <code>base</code>.
- Note that a trailing slash on the URL is significant.</dd>
-
- <dt><code>default</code> Directive</dt>
-
- <dd>The action taken if the coordinates given do not fit any
- of the <code>poly</code>, <code>circle</code> or
- <code>rect</code> directives, and there are no
- <code>point</code> directives. Defaults to
- <code>nocontent</code> in the absence of an ImapDefault
- configuration setting, causing a status code of <code>204 No
- Content</code> to be returned. The client should keep the
- same page displayed.</dd>
-
- <dt><code>poly</code> Directive</dt>
-
- <dd>Takes three to one-hundred points, and is obeyed if the
- user selected coordinates fall within the polygon defined by
- these points.</dd>
-
- <dt><code>circle</code></dt>
-
- <dd>Takes the center coordinates of a circle and a point on
- the circle. Is obeyed if the user selected point is with the
- circle.</dd>
-
- <dt><code>rect</code> Directive</dt>
-
- <dd>Takes the coordinates of two opposing corners of a
- rectangle. Obeyed if the point selected is within this
- rectangle.</dd>
-
- <dt><code>point</code> Directive</dt>
-
- <dd>Takes a single point. The point directive closest to the
- user selected point is obeyed if no other directives are
- satisfied. Note that <code>default</code> will not be
- followed if a <code>point</code> directive is present and
- valid coordinates are given.</dd>
- </dl>
-
-
-<h3>Values</h3>
-
- <p>The values for each of the directives can any of the following:</p>
-
-
- <dl>
- <dt>a URL</dt>
-
- <dd>The URL can be relative or absolute URL. Relative URLs
- can contain '..' syntax and will be resolved relative to the
- <code>base</code> value.<br>
- <code>base</code> itself will not resolved according to the
- current value. A statement <code>base mailto:</code> will
- work properly, though.</dd>
-
- <dt><code>map</code></dt>
-
- <dd>Equivalent to the URL of the imagemap file itself. No
- coordinates are sent with this, so a menu will be generated
- unless ImapMenu is set to 'none'.</dd>
-
- <dt><code>menu</code></dt>
-
- <dd>Synonymous with <code>map</code>.</dd>
-
- <dt><code>referer</code></dt>
-
- <dd>Equivalent to the URL of the referring document. Defaults
- to <code>http://servername/</code> if no Referer: header was
- present.</dd>
-
- <dt><code>nocontent</code></dt>
-
- <dd>Sends a status code of <code>204 No Content</code>,
- telling the client to keep the same page displayed. Valid for
- all but <code>base</code>.</dd>
-
- <dt><code>error</code></dt>
-
- <dd>Fails with a <code>500 Server Error</code>. Valid for all
- but <code>base</code>, but sort of silly for anything but
- <code>default</code>.</dd>
- </dl>
-
-
-<h3>Coordinates</h3>
-
- <dl>
- <dt><code>0,0 200,200</code></dt>
-
- <dd>A coordinate consists of an <code>x</code> and a <code>y</code>
- value separated by a comma. The coordinates are separated
- from each other by whitespace. To accommodate the way Lynx
- handles imagemaps, should a user select the coordinate
- <code>0,0</code>, it is as if no coordinate had been
- selected.</dd>
- </dl>
-
-
-
-<h3>Quoted Text</h3>
-
- <dl>
- <dt><code>"Menu Text"</code></dt>
-
- <dd>After the value or after the coordinates, the line
- optionally may contain text within double quotes. This string
- is used as the text for the link if a menu is
- generated:<br>
- <code><a HREF="http://foo.com/">Menu
- text</a></code><br>
- If no quoted text is present, the name of the link will be
- used as the text:<br>
- <code><a
- HREF="http://foo.com/">http://foo.com</a></code><br>
- It is impossible to escape double quotes within this
- text.</dd>
- </dl>
-
-<h2>Example Mapfile</h2>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- #Comments are printed in a 'formatted' or
- 'semiformatted' menu.<br>
- #And can contain html tags. <hr><br>
- base referer<br>
- poly map "Could I have a menu, please?" 0,0 0,10 10,10
- 10,0<br>
- rect .. 0,0 77,27 "the directory of the referer"<br>
- circle http://www.inetnebr.com/lincoln/feedback/ 195,0
- 305,27<br>
- rect another_file "in same directory as referer" 306,0
- 419,27<br>
- point http://www.zyzzyva.com/ 100,100<br>
- point http://www.tripod.com/ 200,200<br>
- rect mailto:nate@tripod.com 100,150 200,0 "Bugs?"<br>
-</code></td></tr></table></blockquote>
-
-<h2>Referencing your mapfile</h2>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <A HREF="/maps/imagemap1.map"><br>
- <IMG ISMAP SRC="/images/imagemap1.gif"><br>
- </A>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="ImapBase">ImapBase</a> <a name="imapbase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Default base for imagemap files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ImapBase map|referer|<em>URL</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ImapBase http://servername/</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_imap</td></tr></table></td></tr></table>
- <p>The <code class="directive">ImapBase</code> directive sets the default
- <code>base</code> used in the imagemap files. Its value is
- overridden by a <code>base</code> directive within the imagemap
- file. If not present, the <code>base</code> defaults to
- <code>http://servername/</code>.</p>
-<hr/><h2><a name="ImapDefault">ImapDefault</a> <a name="imapdefault">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Default action when an imagemap is called with coordinates
-that are not explicitly mapped</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ImapDefault error|nocontent|map|referer|<em>URL</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ImapDefault nocontent</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_imap</td></tr></table></td></tr></table>
- <p>The <code class="directive">ImapDefault</code> directive sets the default
- <code>default</code> used in the imagemap files. Its value is
- overridden by a <code>default</code> directive within the
- imagemap file. If not present, the <code>default</code> action
- is <code>nocontent</code>, which means that a <code>204 No
- Content</code> is sent to the client. In this case, the client
- should continue to display the original page.</p>
-<hr/><h2><a name="ImapMenu">ImapMenu</a> <a name="imapmenu">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Action if no coordinates are given when calling
-an imagemap</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ImapMenu
- none|formatted|semiformatted|unformatted</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Indexes</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_imap</td></tr></table></td></tr></table>
- <p>The <code class="directive">ImapMenu</code> directive determines the
- action taken if an imagemap file is called without valid
- coordinates.</p>
-
- <dl>
- <dt><code>none</code></dt>
-
- <dd>If ImapMenu is <code>none</code>, no menu is generated,
- and the <code>default</code> action is performed.</dd>
-
- <dt><code>formatted</code></dt>
-
- <dd>A <code>formatted</code> menu is the simplest menu.
- Comments in the imagemap file are ignored. A level one header
- is printed, then an hrule, then the links each on a separate
- line. The menu has a consistent, plain look close to that of
- a directory listing.</dd>
-
- <dt><code>semiformatted</code></dt>
-
- <dd>In the <code>semiformatted</code> menu, comments are
- printed where they occur in the imagemap file. Blank lines
- are turned into HTML breaks. No header or hrule is printed,
- but otherwise the menu is the same as a
- <code>formatted</code> menu.</dd>
-
- <dt><code>unformatted</code></dt>
-
- <dd>Comments are printed, blank lines are ignored. Nothing is
- printed that does not appear in the imagemap file. All breaks
- and headers must be included as comments in the imagemap
- file. This gives you the most flexibility over the appearance
- of your menus, but requires you to treat your map files as
- HTML instead of plaintext.</dd>
- </dl>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_include- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_include</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Server-parsed html documents (Server Side Includes)</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>include_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>This module provides a filter which will process files
- before they are sent to the client. The processing is
- controlled by specially formated SGML comments, referred to as
- <em>elements</em>. These elements allow conditional text, the
- inclusion of other files or programs, as well as the setting and
- printing of environment variables.</p>
-
-<h2>Directives</h2><ul><li><a href="#ssiendtag">SSIEndTag</a></li><li><a href="#ssierrormsg">SSIErrorMsg</a></li><li><a href="#ssistarttag">SSIStartTag</a></li><li><a href="#ssitimeformat">SSITimeFormat</a></li><li><a href="#ssiundefinedecho">SSIUndefinedEcho</a></li><li><a href="#xbithack">XBitHack</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#options" class="directive"><code class="directive">Options</code></a></li><li><a href="core.html#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a></li><li><a href="core.html#acceptpathinfo" class="directive"><code class="directive">AcceptPathInfo</code></a></li></ul><h2><a name="enabling">Enabling Server-Side Includes</a></h2>
-
-
- <p>Server Side Includes are implemented by the
- <code>INCLUDES</code> <a href="../filter.html">filter</a>. If
- documents containing server-side include directives are given
- the extension .shtml, the following directives will make Apache
- parse them and assign the resulting document the mime type of
- <code>text/html</code>:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddType text/html .shtml<br>
- AddOutputFilter INCLUDES .shtml
- </code></td></tr></table></blockquote>
-
- <p>The following directive must be given for the directories
- containing the shtml files (typically in a
- <code><Directory></code> section, but this directive is
- also valid .htaccess files if <code>AllowOverride
- Options</code> is set):</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Options +Includes
- </code></td></tr></table></blockquote>
-
- <p>For backwards compatibility, the <code>server-parsed</code>
- <a href="../handler.html">handler</a> also activates the
- INCLUDES filter. As well, Apache will activate the INCLUDES
- filter for any document with mime type
- <code>text/x-server-parsed-html</code> or
- <code>text/x-server-parsed-html3</code> (and the resulting
- output will have the mime type <code>text/html</code>).</p>
-
- <p>For more information, see our <a href="../howto/ssi.html">Tutorial on Server Side
- Includes</a>.</p>
-<h2><a name="basic">Basic Elements</a></h2>
-
- <p>The document is parsed as an HTML document, with special
- commands embedded as SGML comments. A command has the syntax: </p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <code><!--#</code><em>element attribute=value
- attribute=value ...</em> <code>--></code>
- </code></td></tr></table></blockquote>
-
- <p>The value will often be enclosed in double quotes; many
- commands only allow a single attribute-value pair. Note that
- the comment terminator (<code>--></code>) should be preceded
- by whitespace to ensure that it isn't considered part of an SSI
- token. </p>
-
- <p>The allowed elements are:</p>
-
- <dl>
- <dt><strong>config</strong></dt>
-
- <dd>
- This command controls various aspects of the parsing. The
- valid attributes are:
-
- <dl>
- <dt><strong>errmsg</strong></dt>
-
- <dd>The value is a message that is sent back to the
- client if an error occurs whilst parsing the
- document.</dd>
-
- <dt><strong>sizefmt</strong></dt>
-
- <dd>The value sets the format to be used which displaying
- the size of a file. Valid values are <code>bytes</code>
- for a count in bytes, or <code>abbrev</code> for a count
- in Kb or Mb as appropriate.</dd>
-
- <dt><strong>timefmt</strong></dt>
-
- <dd>The value is a string to be used by the
- <code>strftime(3)</code> library routine when printing
- dates.</dd>
- </dl>
- </dd>
-
- <dt><strong><a name="echo">echo</a></strong></dt>
-
- <dd>
- <p>This command prints one of the <a href="#includevars">include
- variables</a>, defined below. If the variable is unset, it
- is printed as <code>(none)</code>. Any dates printed are
- subject to the currently configured <code>timefmt</code>.</p>
-
- <p>Attributes:</p>
-
- <dl>
- <dt><strong>var</strong></dt>
-
- <dd>The value is the name of the variable to print.</dd>
-
- <dt><strong>encoding</strong></dt>
-
- <dd>Specifies how Apache should encode special characters
- contained in the variable before outputting them. If set
- to "none", no encoding will be done. If set to "url",
- then URL encoding (also known as %-encoding; this is
- appropriate for use within URLs in links, etc.) will be
- performed. At the start of an <code>echo</code> element,
- the default is set to "entity", resulting in entity
- encoding (which is appropriate in the context of a
- block-level HTML element, eg. a paragraph of text). This
- can be changed by adding an <code>encoding</code>
- attribute, which will remain in effect until the next
- <code>encoding</code> attribute is encountered or the
- element ends, whichever comes first. Note that the
- <code>encoding</code> attribute must <em>precede</em> the
- corresponding <code>var</code> attribute to be effective,
- and that only special characters as defined in the
- ISO-8859-1 character encoding will be encoded. This
- encoding process may not have the desired result if a
- different character encoding is in use. Apache 1.3.12 and
- above; previous versions do no encoding.</dd>
- </dl>
- </dd>
-
- <dt><strong>exec</strong></dt>
-
- <dd>
- The exec command executes a given shell command or CGI
- script. The IncludesNOEXEC <a href="core.html#option" class="directive"><code class="directive">Option</code></a> disables this command
- completely. The valid attributes are:
-
- <dl>
- <dt><strong>cgi</strong></dt>
-
- <dd>
- The value specifies a (%-encoded) URL relative path to
- the CGI script. If the path does not begin with a (/),
- then it is taken to be relative to the current
- document. The document referenced by this path is
- invoked as a CGI script, even if the server would not
- normally recognize it as such. However, the directory
- containing the script must be enabled for CGI scripts
- (with <a href="mod_alias.html#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a>
- or the ExecCGI <a href="core.html#option" class="directive"><code class="directive">Option</code></a>).
-
- <p>The CGI script is given the PATH_INFO and query
- string (QUERY_STRING) of the original request from the
- client; these cannot be specified in the URL path. The
- include variables will be available to the script in
- addition to the standard <a href="mod_cgi.html">CGI</a>
- environment.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><!--#exec cgi="/cgi-bin/example.cgi" --></code></td></tr></table></blockquote>
-
- <p>If the script returns a Location: header instead of
- output, then this will be translated into an HTML
- anchor.</p>
-
- <p>The <code><a href="#includevirtual">include
- virtual</a></code> element should be
- used in preference to <code>exec cgi</code>. In particular,
- if you need to pass additional arguments to a CGI program,
- using the query string, this cannot be done with <code>exec
- cgi</code>, but can be done with <code>include
- virtual</code>, as shown here:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
- </code></td></tr></table></blockquote>
-
- </dd>
-
- <dt><strong>cmd</strong></dt>
-
- <dd>
- <p>The server will execute the given string using
- <code>/bin/sh</code>. The <a href="#includevars">include variables</a> are available
- to the command, in addition to the usual set of CGI
- variables.</p>
-
- <p>The use of <code><a href="#includevirtual">#include
- virtual</a></code> is almost always
- prefered to using either <code>#exec cgi</code> or <code>#exec
- cmd</code>. The former (<code>#include virtual</code>) used the
- standard Apache sub-request mechanism to include files or
- scripts. It is much better tested and maintained.</p>
-
- <p>In addition, on some platforms, like Win32, and on unix
- when using suexec, you cannot pass arguments to a command in
- an <code>exec</code> directive, or otherwise include spaces in
- the command. Thus, while the following will work under a
- non-suexec configuration on unix, it will not produce the
- desired result under Win32, or when running suexec:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#exec cmd="perl /path/to/perlscript arg1 arg2" -->
- </code></td></tr></table></blockquote>
-
- </dd>
- </dl>
- </dd>
-
- <dt><strong>fsize</strong></dt>
-
- <dd>
- This command prints the size of the specified file, subject
- to the <code>sizefmt</code> format specification.
- Attributes:
-
- <dl>
- <dt><strong>file</strong></dt>
-
- <dd>The value is a path relative to the directory
- containing the current document being parsed.</dd>
-
- <dt><strong>virtual</strong></dt>
-
- <dd>The value is a (%-encoded) URL-path relative to the
- current document being parsed. If it does not begin with
- a slash (/) then it is taken to be relative to the
- current document.</dd>
- </dl>
- </dd>
-
- <dt><strong>flastmod</strong></dt>
-
- <dd>This command prints the last modification date of the
- specified file, subject to the <code>timefmt</code> format
- specification. The attributes are the same as for the
- <code>fsize</code> command.</dd>
-
- <dt><strong>include</strong></dt>
-
- <dd>
- This command inserts the text of another document or file
- into the parsed file. Any included file is subject to the
- usual access control. If the directory containing the
- parsed file has the <a href="core.html#options">Option</a>
- IncludesNOEXEC set, and the including the document would
- cause a program to be executed, then it will not be
- included; this prevents the execution of CGI scripts.
- Otherwise CGI scripts are invoked as normal using the
- complete URL given in the command, including any query
- string.
-
- <p>An attribute defines the location of the document; the
- inclusion is done for each attribute given to the include
- command. The valid attributes are:</p>
-
- <dl>
- <dt><strong>file</strong></dt>
-
- <dd>The value is a path relative to the directory
- containing the current document being parsed. It cannot
- contain <code>../</code>, nor can it be an absolute path.
- Therefore, you cannot include files that are outside of the
- document root, or above the current document in the directory
- structure.
- The <code>virtual</code> attribute should always be used
- in preference to this one.</dd>
-
- <dt><strong><a name="includevirtual">virtual</a></strong></dt>
-
- <dd>
- <p>The value is a (%-encoded) URL relative to the
- current document being parsed. The URL cannot contain a
- scheme or hostname, only a path and an optional query
- string. If it does not begin with a slash (/) then it is
- taken to be relative to the current document.</p>
-
- <p>A URL is constructed from the attribute, and the output the
- server would return if the URL were accessed by the client
- is included in the parsed output. Thus included files can
- be nested.</p>
-
- <p>If the specified URL is a CGI program, the program will
- be executed and its output inserted in place of the directive
- in the parsed file. You may include a query string in a CGI
- url:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
- </code></td></tr></table></blockquote>
-
- <p><code>include virtual</code> should be used in preference
- to <code>exec cgi</code> to include the output of CGI
- programs into an HTML document.</p>
- </dd>
- </dl>
- </dd>
-
- <dt><strong>printenv</strong></dt>
-
- <dd>
- <p>This prints out a listing of all existing variables and
- their values. Starting with Apache 1.3.12, special characters
- are entity encoded (see the <a href="#echo"><code>echo</code></a> element for details)
- before being output. There are no attributes.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#printenv -->
- </code></td></tr></table></blockquote>
-
- <p>The <strong>printenv</strong> element is available only in
- Apache 1.2 and above.</p>
- </dd>
- <dt><strong>set</strong></dt>
-
- <dd>
- This sets the value of a variable. Attributes:
-
- <dl>
- <dt><strong>var</strong></dt>
-
- <dd>The name of the variable to set.</dd>
-
- <dt><strong>value</strong></dt>
-
- <dd>The value to give a variable.</dd>
- </dl>
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#set var="category" value="help" -->
- </code></td></tr></table></blockquote>
-
- <p>The <strong>set</strong> element is available only in
- Apache 1.2 and above.</p>
- </dd>
- </dl>
-<h2><a name="includevars">Include Variables</a></h2>
-
-
- <p>In addition to the variables in the standard CGI environment,
- these are available for the <code>echo</code> command, for
- <code>if</code> and <code>elif</code>, and to any program
- invoked by the document.</p>
-
- <dl>
- <dt>DATE_GMT</dt>
-
- <dd>The current date in Greenwich Mean Time.</dd>
-
- <dt>DATE_LOCAL</dt>
-
- <dd>The current date in the local time zone.</dd>
-
- <dt>DOCUMENT_NAME</dt>
-
- <dd>The filename (excluding directories) of the document
- requested by the user.</dd>
-
- <dt>DOCUMENT_URI</dt>
-
- <dd>The (%-decoded) URL path of the document requested by the
- user. Note that in the case of nested include files, this is
- <em>not</em> then URL for the current document.</dd>
-
- <dt>LAST_MODIFIED</dt>
-
- <dd>The last modification date of the document requested by
- the user.</dd>
- </dl>
-<h2>Variable Substitution</h2>
-
-
- <p>Variable substitution is done within quoted strings in most
- cases where they may reasonably occur as an argument to an SSI
- directive. This includes the <code>config</code>,
- <code>exec</code>, <code>flastmod</code>, <code>fsize</code>,
- <code>include</code>, <code>echo</code>, and <code>set</code>
- directives, as well
- as the arguments to conditional operators. You can insert a
- literal dollar sign into the string using backslash
- quoting:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#if expr="$a = \$test" -->
-</code></td></tr></table></blockquote>
-
- <p>If a variable reference needs to be substituted in the
- middle of a character sequence that might otherwise be
- considered a valid identifier in its own right, it can be
- disambiguated by enclosing the reference in braces,
- <em>a la</em> shell substitution:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" -->
-</code></td></tr></table></blockquote>
-
- <p>This will result in the <code>Zed</code> variable being set
- to "<code>X_Y</code>" if <code>REMOTE_HOST</code> is
- "<code>X</code>" and <code>REQUEST_METHOD</code> is
- "<code>Y</code>".</p>
-
- <p>EXAMPLE: the below example will print "in foo" if the
- DOCUMENT_URI is /foo/file.html, "in bar" if it is
- /bar/file.html and "in neither" otherwise:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#if expr="\"$DOCUMENT_URI\" = \"/foo/file.html\"" --><br>
- in foo<br>
- <!--#elif expr="\"$DOCUMENT_URI\" = \"/bar/file.html\"" --><br>
- in bar<br>
- <!--#else --><br>
- in neither<br>
- <!--#endif -->
-</code></td></tr></table></blockquote>
-<h2><a name="flowctrl">Flow Control Elements</a></h2>
-
-
- <p>These are available in Apache 1.2 and above. The basic flow
- control elements are:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#if expr="<em>test_condition</em>" --><br>
- <!--#elif expr="<em>test_condition</em>" --><br>
- <!--#else --><br>
- <!--#endif -->
-</code></td></tr></table></blockquote>
-
- <p>The <strong><code>if</code></strong> element works like an
- if statement in a programming language. The test condition is
- evaluated and if the result is true, then the text until the
- next <strong><code>elif</code></strong>,
- <strong><code>else</code></strong>. or
- <strong><code>endif</code></strong> element is included in the
- output stream.</p>
-
- <p>The <strong><code>elif</code></strong> or
- <strong><code>else</code></strong> statements are be used the
- put text into the output stream if the original test_condition
- was false. These elements are optional.</p>
-
- <p>The <strong><code>endif</code></strong> element ends the
- <strong><code>if</code></strong> element and is required.</p>
-
- <p><em>test_condition</em> is one of the following:</p>
-
- <dl>
- <dt><em>string</em></dt>
-
- <dd>true if <em>string</em> is not empty</dd>
-
- <dt><em>string1</em> = <em>string2</em><br>
- <em>string1</em> != <em>string2</em><br>
- <em>string1</em> < <em>string2</em><br>
- <em>string1</em> <= <em>string2</em><br>
- <em>string1</em> > <em>string2</em><br>
- <em>string1</em> >= <em>string2</em></dt>
-
- <dd>Compare string1 with string 2. If string2 has the form
- <em>/string/</em> then it is compared as a regular
- expression. Regular expressions have the same syntax as those
- found in the Unix <code>egrep</code> command.</dd>
-
- <dt>( <em>test_condition</em> )</dt>
-
- <dd>true if <em>test_condition</em> is true</dd>
-
- <dt>! <em>test_condition</em></dt>
-
- <dd>true if <em>test_condition</em> is false</dd>
-
- <dt><em>test_condition1</em> &&
- <em>test_condition2</em></dt>
-
- <dd>true if both <em>test_condition1</em> and
- <em>test_condition2</em> are true</dd>
-
- <dt><em>test_condition1</em> || <em>test_condition2</em></dt>
-
- <dd>true if either <em>test_condition1</em> or
- <em>test_condition2</em> is true</dd>
- </dl>
-
- <p>"<em>=</em>" and "<em>!=</em>" bind more tightly than
- "<em>&&</em>" and "<em>||</em>". "<em>!</em>" binds
- most tightly. Thus, the following are equivalent:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <!--#if expr="$a = test1 && $b = test2" --><br>
- <!--#if expr="($a = test1) && ($b = test2)" -->
-</code></td></tr></table></blockquote>
-
- <p>Anything that's not recognized as a variable or an operator
- is treated as a string. Strings can also be quoted:
- <em>'string'</em>. Unquoted strings can't contain whitespace
- (blanks and tabs) because it is used to separate tokens such as
- variables. If multiple strings are found in a row, they are
- concatenated using blanks. So,</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <pre><em>string1 string2</em> results in <em>string1 string2</em></pre>
- <pre><em>'string1 string2'</em> results in <em>string1 string2</em></pre>
-</code></td></tr></table></blockquote>
-
-<h2>Using Server Side Includes for ErrorDocuments</h2>
-
-
- <p>There is <a href="../misc/custom_errordocs.html">a document</a>
- which describes how to use the features of mod_include to offer
- internationalized customized server error documents.</p>
-
-<h2>PATH_INFO with Server Side Includes</h2>
-
- <p>Files processed for server-side includes no longer accept
- requests with PATH_INFO (trailing pathname information) by
- default. You can use the <a href="core.html#acceptpathinfo" class="directive"><code class="directive">AcceptPathInfo</code></a> directive to
- configure the server to accept requests with PATH_INFO.</p>
-
-<hr/><h2><a name="SSIEndTag">SSIEndTag</a> <a name="ssiendtag">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Changes the string that mod_include looks for to end an
-include command.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSIEndTag <em>tag</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIEndTag "-->"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.
-</td></tr></table></td></tr></table>
- <p>This directive changes the string that mod_include looks for
- to mark the end of a include command.</p>
-
-<p><strong>See also </strong></p><ul><li><code class="directive">SSIStartTag</code></li></ul><hr/><h2><a name="SSIErrorMsg">SSIErrorMsg</a> <a name="ssierrormsg">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Changes the error message displayed when there is an error</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSIErrorMsg <em>message</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIErrorMsg
-"[an error occurred while processing this directive]"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.</td></tr></table></td></tr></table>
- <p>The SSIErrorMsg directive changes the error message displayed
- when mod_include encounters an error. For production servers you
- may consider changing the default error message to
- <code>"<!-- Error -->"</code> so that the message
- is not presented to the user.
- </p>
- <p>This directive has the same effect as the <code><!--#config
- errmsg=<em>message</em> --></code> element.</p>
-
-<hr/><h2><a name="SSIStartTag">SSIStartTag</a> <a name="ssistarttag">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Changes the string that mod_include looks for to start an
-include element</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIStartTag "<!--"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.</td></tr></table></td></tr></table>
-
- <p>This directive changes the string that mod_include looks for
- to mark an include element to process.</p>
-
- <p>You may want to use this option if have 2 servers parsing the
- output of a file each processing different commands (possibly at
- different times).</p>
-
-<p><strong>See also </strong></p><ul><li><code class="directive">SSIEndTag</code></li></ul><hr/><h2><a name="SSITimeFormat">SSITimeFormat</a> <a name="ssitimeformat">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures the format in which date strings are
-displayed</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSITimeFormat <em>formatstring</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.</td></tr></table></td></tr></table>
-<p>This directive changes the format in which date strings are displayed
- when echoing DATE environment variables. The <em>formatstring</em>
- is as in strftime(3) from the C standard library.</p>
-
- <p>This directive has the same effect as the <code><!--#config
- timefmt=<em>formatstring</em> --></code> element.</p>
-<hr/><h2><a name="SSIUndefinedEcho">SSIUndefinedEcho</a> <a name="ssiundefinedecho">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Changes the string that mod_include displays when
-a variable isn't set.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSIUndefinedEcho <em>tag</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIUndefinedEcho "<!-- undef -->"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.34 and later.
-</td></tr></table></td></tr></table>
- <p>This directive changes the string that mod_include displays
- when a variable is not set and "echoed".</p>
-<hr/><h2><a name="XBitHack">XBitHack</a> <a name="xbithack">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Parse SSI directives in files with the execute
-bit set</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>XBitHack on|off|full</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>XBitHack off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td/></tr></table></td></tr></table>
- <p>The XBitHack directives controls the parsing of ordinary
- html documents. This directive only affects files associated
- with the MIME type <code>text/html</code>. XBitHack can take on
- the following values:</p>
-
- <dl>
- <dt>off</dt>
-
- <dd>No special treatment of executable files.</dd>
-
- <dt>on</dt>
-
- <dd>Any text/html file that has the user-execute bit set will
- be treated as a server-parsed html document.</dd>
-
- <dt>full</dt>
-
- <dd>
- As for <code>on</code> but also test the group-execute bit.
- If it is set, then set the Last-modified date of the
- returned file to be the last modified time of the file. If
- it is not set, then no last-modified date is sent. Setting
- this bit allows clients and proxies to cache the result of
- the request.
-
- <blockquote><table><tr><td bgcolor="#e0e5f5"><strong>Note:</strong> you would not want to use the full
- option, unless you assure the group-execute bit is unset for
- every SSI script which might <code>#include</code> a CGI
- or otherwise produces different output on each hit (or could
- potentially change on subsequent requests).</td></tr></table></blockquote>
- </dd>
- </dl>
-
- <hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_info- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_info</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides a comprehensive overview of the server
-configuration</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>info_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>To configure <code><a href="mod_info.html">mod_info</a></code>, add the following to your
- <code>httpd.conf</code> file.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Location /server-info><br>
-SetHandler server-info<br>
-</Location><br>
-</code></td></tr></table></blockquote>
-
- <p>You may wish to add a
- <a href="core.html#<limit>" class="directive"><code class="directive"><Limit></code></a>
- clause inside the
- <a href="core.html#<location>" class="directive"><code class="directive"><location></code></a>
- directive to limit access to your server configuration
- information.</p>
-
- <p>Once configured, the server information is obtained by
- accessing <code>http://your.host.dom/server-info</code></p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">
- Note that the configuration files are read by the
- module at run-time, and therefore the display may
- <em>not</em> reflect the running server's active
- configuration if the files have been changed since the server
- was last reloaded. Also, the configuration files must be
- readable by the user as which the server is running (see the
- <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> directive), or
- else the directive settings will not be listed.
-
- <p>It should also be noted that if
- <code><a href="mod_info.html">mod_info</a></code> is compiled into the server, its
- handler capability is available in <em>all</em> configuration
- files, including <em>per</em>-directory files (<em>e.g.</em>,
- <code>.htaccess</code>). This may have security-related
- ramifications for your site.</p>
- </td></tr></table></blockquote>
-<h2>Directives</h2><ul><li><a href="#addmoduleinfo">AddModuleInfo</a></li></ul><hr/><h2><a name="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Allows additional information to be added to the module
-information displayed by the server-info handler</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddModuleInfo <em>module-name string</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_info</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.3 and above</td></tr></table></td></tr></table>
- <p>This allows the content of <em>string</em> to be shown as
- HTML interpreted, <strong>Additional Information</strong> for
- the module <em>module-name</em>. Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-AddModuleInfo mod_auth.c 'See <A HREF="http://www.apache.org/docs/mod/mod_auth.html">http://www.apache.org/docs/mod/mod_auth.html</A>'
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_isapi- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_isapi</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>ISAPI Extensions within Apache for Windows</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>isapi_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Win32 only</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module implements the Internet Server extension API. It
- allows Internet Server extensions (<em>e.g.</em> ISAPI .dll
- modules) to be served by Apache for Windows, subject to the
- noted restrictions.</p>
-
- <p>ISAPI extension modules (.dll files) are written by third
- parties. The Apache Group does not author these modules, so we
- provide no support for them. Please contact the ISAPI's author
- directly if you are experiencing problems running their ISAPI
- extention. <strong>Please <em>do not</em> post such problems to
- Apache's lists or bug reporting pages.</strong></p>
-<h2>Directives</h2><ul><li><a href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li><li><a href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li><li><a href="#isapifilechache">ISAPIFileChache</a></li><li><a href="#isapilognotsupported">ISAPILogNotSupported</a></li><li><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li></ul><h2>Usage</h2> <p>In the server configuration file, use
-the <a href="mod_mime.html#addhandler" class="directive"><code class="directive">AddHandler</code></a> directive to
-associate ISAPI files with the <code>isapi-isa</code> handler, and map
-it to the with their file extensions. To enable any .dll file to be
-processed as an ISAPI extention, edit the httpd.conf file and add the
-following line:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddHandler isapi-isa .dll
-</code></td></tr></table></blockquote>
-
- <p>There is no capability within the Apache server to leave a
- requested module loaded. However, you may preload and keep a
- specific module loaded by using the following syntax in your
- httpd.conf:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
-</code></td></tr></table></blockquote>
-
- <p>Whether or not you have preloaded an ISAPI extension, all
- ISAPI extensions are governed by the same permissions and
- restrictions as CGI scripts. That is, <code>Options
- ExecCGI</code> must be set for the directory that contains the
- ISAPI .dll file.</p>
-
- <p>Review the <a href="#notes">Additional Notes</a> and the <a href="#journal">Programmer's Journal</a> for additional details
- and clarification of the specific ISAPI support offered by
- mod_isapi.</p>
-<h2><a name="notes">Additional Notes</a></h2>
-
- <p>Apache's ISAPI implementation conforms to all of the ISAPI
- 2.0 specification, except for some "Microsoft-specific"
- extensions dealing with asynchronous I/O. Apache's I/O model
- does not allow asynchronous reading and writing in a manner
- that the ISAPI could access. If an ISA tries to access
- unsupported features, including async I/O, a message is placed
- in the error log to help with debugging. Since these messages
- can become a flood, the directive <code>ISAPILogNotSupported
- Off</code> exists to quiet this noise.</p>
-
- <p>Some servers, like Microsoft IIS, load the ISAPI extension
- into the server and keep it loaded until memory usage is too
- high, or unless configuration options are specified. Apache
- currently loads and unloads the ISAPI extension each time it is
- requested, unless the ISAPICacheFile directive is specified.
- This is inefficient, but Apache's memory model makes this the
- most effective method. Many ISAPI modules are subtly
- incompatible with the Apache server, and unloading these
- modules helps to ensure the stability of the server.</p>
-
- <p>Also, remember that while Apache supports ISAPI Extensions,
- it <strong>does not support ISAPI Filters.</strong> Support for
- filters may be added at a later date, but no support is planned
- at this time.</p>
-<h2><a name="journal">Programmer's Journal</a></h2>
-
- <p>If you are programming Apache 2.0 <code><a href="mod_isapi.html">mod_isapi</a></code>
- modules, you must limit your calls to ServerSupportFunction to the
- following directives:</p>
-
- <dl>
- <dt>HSE_REQ_SEND_URL_REDIRECT_RESP</dt>
-
- <dd>Redirect the user to another location.<br>
- This must be a fully qualified URL (e.g.
- http://server/location).</dd>
-
- <dt>HSE_REQ_SEND_URL</dt>
-
- <dd>Redirect the user to another location.<br>
- This cannot be a fully qualified URL, you are not allowed to
- pass the protocol or a server name (e.g. simply
- /location).<br>
- This redirection is handled by the server, not the
- browser.<br>
- <strong>Warning:</strong> in their recent documentation,
- Microsoft appears to have abandoned the distinction between
- the two HSE_REQ_SEND_URL functions. Apache continues to treat
- them as two distinct functions with different requirements
- and behaviors.</dd>
-
- <dt>HSE_REQ_SEND_RESPONSE_HEADER</dt>
-
- <dd>Apache accepts a response body following the header if it
- follows the blank line (two consecutive newlines) in the
- headers string argument. This body cannot contain NULLs,
- since the headers argument is NULL terminated.</dd>
-
- <dt>HSE_REQ_DONE_WITH_SESSION</dt>
-
- <dd>Apache considers this a no-op, since the session will be
- finished when the ISAPI returns from processing.</dd>
-
- <dt>HSE_REQ_MAP_URL_TO_PATH</dt>
-
- <dd>Apache will translate a virtual name to a physical
- name.</dd>
-
- <dt>HSE_APPEND_LOG_PARAMETER</dt>
-
- <dd>
- This logged message may be captured in any of the following
- logs:
-
- <ul>
- <li>in the \"%{isapi-parameter}n\" component in a
- CustomLog directive</li>
-
- <li>in the %q log component with the
- ISAPIAppendLogToQuery On directive</li>
-
- <li>in the error log with the ISAPIAppendLogToErrors On
- directive</li>
- </ul>
- The first option, the %{isapi-parameter}n component, is
- always available and prefered.
- </dd>
-
- <dt>HSE_REQ_IS_KEEP_CONN</dt>
-
- <dd>Will return the negotiated Keep-Alive status.</dd>
-
- <dt>HSE_REQ_SEND_RESPONSE_HEADER_EX</dt>
-
- <dd>Will behave as documented, although the fKeepConn flag is
- ignored.</dd>
-
- <dt>HSE_REQ_IS_CONNECTED</dt>
-
- <dd>Will report false if the request has been aborted.</dd>
- </dl>
-
- <p>Apache returns FALSE to any unsupported call to
- ServerSupportFunction, and sets the GetLastError value to
- ERROR_INVALID_PARAMETER.</p>
-
- <p>ReadClient retrieves the request body exceeding the initial
- buffer (defined by ISAPIReadAheadBuffer). Based on the
- ISAPIReadAheadBuffer setting (number of bytes to buffer prior
- to calling the ISAPI handler) shorter requests are sent
- complete to the extension when it is invoked. If the request is
- longer, the ISAPI extension must use ReadClient to retrieve the
- remaining request body.</p>
-
- <p>WriteClient is supported, but only with the HSE_IO_SYNC flag
- or no option flag (value of 0). Any other WriteClient request
- will be rejected with a return value of FALSE, and a
- GetLastError value of ERROR_INVALID_PARAMETER.</p>
-
- <p>GetServerVariable is supported, although extended server
- variables do not exist (as defined by other servers.) All the
- usual Apache CGI environment variables are available from
- GetServerVariable, as well as the ALL_HTTP and ALL_RAW
- values.</p>
-
- <p>Apache 2.0 <code><a href="mod_isapi.html">mod_isapi</a></code> supports additional
- features introduced in later versions of the ISAPI specification,
- as well as limited emulation of async I/O and the TransmitFile
- semantics. Apache also supports preloading ISAPI .dlls for
- performance, neither of which were not available under Apache 1.3
- mod_isapi.</p>
-<hr/><h2><a name="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a> <a name="isapiappendlogtoerrors">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
-extensions to the error log</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ISAPIAppendLogToErrors on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ISAPIAppendLogToErrors off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_isapi</td></tr></table></td></tr></table>
- <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
- extensions to the server error log.</p>
-<hr/><h2><a name="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a> <a name="isapiappendlogtoquery">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
-extensions to the query field</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ISAPIAppendLogToQuery on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ISAPIAppendLogToQuery off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_isapi</td></tr></table></td></tr></table>
- <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
- extensions to the query field (appended to the CustomLog %q
- component).</p>
-<hr/><h2><a name="ISAPIFileChache">ISAPIFileChache</a> <a name="isapifilechache">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>ISAPI .dll files to be loaded at startup</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ISAPIFileCache <em>file-path</em> [<em>file-path</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_isapi</td></tr></table></td></tr></table>
- <p>Specifies a space-separated list of file names to be loaded
- when the Apache server is launched, and remain loaded until the
- server is shut down. This directive may be repeated for every
- ISAPI .dll file desired. The full path name of each file should
- be specified.</p>
-<hr/><h2><a name="ISAPILogNotSupported">ISAPILogNotSupported</a> <a name="isapilognotsupported">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Log unsupported feature requests from ISAPI
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ISAPILogNotSupported on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ISAPILogNotSupported on</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_isapi</td></tr></table></td></tr></table>
- <p>Logs all requests for unsupported features from ISAPI
- extensions in the server error log. While this should be turned
- off once all desired ISAPI modules are functioning, it defaults
- to on to help administrators track down problems.</p>
-<hr/><h2><a name="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a> <a name="isapireadaheadbuffer">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Size of the Read Ahead Buffer sent to ISAPI
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ISAPIReadAheadBuffer <em>size</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ISAPIReadAheadBuffer 49152</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_isapi</td></tr></table></td></tr></table>
- <p>Defines the maximum size of the Read Ahead Buffer sent to
- ISAPI extensions when they are initially invoked. All remaining
- data must be retrieved using the ReadClient callback; some
- ISAPI extensions may not support the ReadClient function. Refer
- questions to the ISAPI extension's author.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_log_config- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_log_config</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Logging of the requests made to the server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>log_config_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>This module provides for flexible logging of client
- requests. Logs are written in a customizable format, and may be
- written directly to a file, or to an external program.
- Conditional logging is provided so that individual requests may
- be included or excluded from the logs based on characteristics
- of the request.</p>
-
- <p>Three directives are provided by this module:
- <code>TransferLog</code> to create a log file,
- <code>LogFormat</code> to set a custom format, and
- <code>CustomLog</code> to define a log file and format in one
- step. The <code>TransferLog</code> and <code>CustomLog</code>
- directives can be used multiple times in each server to cause
- each request to be logged to multiple files.</p>
-<h2>Directives</h2><ul><li><a href="#cookielog">CookieLog</a></li><li><a href="#customlog">CustomLog</a></li><li><a href="#logformat">LogFormat</a></li><li><a href="#transferlog">TransferLog</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../logs.html">Apache Log Files</a></li></ul><h2><a name="formats">Custom Log Formats</a></h2>
-
-
- <p>The format argument to the <code>LogFormat</code> and
- <code>CustomLog</code> directives is a string. This string is
- logged to the log file for each request. It can contain literal
- characters copied into the log files and the c-type control
- characters "\n" and "\t" to represent new-lines and tabs.
- Literal quotes and back-slashes should be escaped with
- back-slashes.</p>
-
- <p>The characteristics of the request itself are logged by
- placing "%" directives in the format string, which are replaced
- in the log file by the values as follows:</p>
-
-<table>
-
-<tr><td>%...a:</td>
-<td>Remote IP-address</td></tr>
-
-<tr><td>%...A:</td>
-<td>Local IP-address</td></tr>
-
-<tr><td>%...B:</td>
-<td>Bytes sent, excluding HTTP headers.</td></tr>
-
-<tr><td>%...b:</td>
-<td>Bytes sent, excluding HTTP headers. In CLF format
-i.e. a '-' rather than a 0 when no bytes are sent.</td></tr>
-
-<tr><td>%...{Foobar}C:</td>
-<td>The contents of cookie "Foobar" in the request sent to the server.</td></tr>
-
-<tr><td>%...D:</td>
-<td>The time taken to serve the request, in microseconds.</td></tr>
-
-<tr><td>%...{FOOBAR}e:</td>
-<td>The contents of the environment variable FOOBAR</td></tr>
-
-<tr><td>%...f:</td>
-<td>Filename</td></tr>
-
-<tr><td>%...h:</td>
-<td>Remote host</td></tr>
-
-<tr><td>%...H</td>
-<td>The request protocol</td></tr>
-
-<tr><td>%...{Foobar}i:</td>
-<td>The contents of Foobar: header line(s) in the request
-sent to the server.</td></tr>
-
-<tr><td>%...l:</td>
-<td>Remote logname (from identd, if supplied)</td></tr>
-
-<tr><td>%...m:</td>
-<td>The request method</td></tr>
-
-<tr><td>%...{Foobar}n:</td>
-<td>The contents of note "Foobar" from another module.</td></tr>
-
-<tr><td>%...{Foobar}o:</td>
-<td>The contents of Foobar: header line(s) in the reply.</td></tr>
-
-<tr><td>%...p:</td>
-<td>The canonical Port of the server serving the request</td></tr>
-
-<tr><td>%...P:</td>
-<td>The process ID of the child that serviced the request.</td></tr>
-
-<tr><td>%...q:</td>
-<td>The query string (prepended with a ? if a query string exists,
-otherwise an empty string)</td></tr>
-
-<tr><td>%...r:</td>
-<td>First line of request</td></tr>
-
-<tr><td>%...s:</td>
-<td>Status. For requests that got internally redirected, this is
-the status of the *original* request --- %...>s for the last.</td></tr>
-
-<tr><td>%...t:</td>
-<td>Time, in common log format time format (standard english format)</td></tr>
-
-<tr><td>%...{format}t:</td>
-<td>The time, in the form given by format, which should
-be in strftime(3) format. (potentially localized)</td></tr>
-
-<tr><td>%...T:</td>
-<td>The time taken to serve the request, in seconds.</td></tr>
-
-<tr><td>%...u:</td>
-<td>Remote user (from auth; may be bogus if return status (%s) is 401)</td></tr>
-
-<tr><td>%...U:</td>
-<td>The URL path requested, not including any query string.</td></tr>
-
-<tr><td>%...v:</td>
-<td>The canonical ServerName of the server serving the request.</td></tr>
-
-<tr><td>%...V:</td>
-<td>The server name according to the UseCanonicalName setting.</td></tr>
-
-<tr><td>%...X:</td>
-<td>Connection status when response is completed.
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-'X' = connection aborted before the response completed.<br>
-'+' = connection may be kept alive after the response is sent.<br>
-'-' = connection will be closed after the response is sent.
-</code></td></tr></table></blockquote>
-<blockquote><table><tr><td bgcolor="#e0e5f5">(This directive was %...c in late versions of Apache 1.3, but
-this conflicted with the historical ssl %...{var}c syntax.)</td></tr></table></blockquote>
-</td></tr>
-
-</table>
-
- <p>The "..." can be nothing at all (<em>e.g.</em>, <code>"%h %u
- %r %s %b"</code>), or it can indicate conditions for inclusion
- of the item (which will cause it to be replaced with "-" if the
- condition is not met). The forms of condition are a list of
- HTTP status codes, which may or may not be preceded by "!".
- Thus, "%400,501{User-agent}i" logs User-agent: on 400 errors
- and 501 errors (Bad Request, Not Implemented) only;
- "%!200,304,302{Referer}i" logs Referer: on all requests which
- did <strong>not</strong> return some sort of normal status.</p>
-
- <p>Note that there is no escaping performed on the strings from
- %...r, %...i and %...o. This is mainly to comply with the
- requirements of the Common Log Format. This implies that
- clients can insert control characters into the log, so care
- should be taken when dealing with raw log files.</p>
-
- <p>Some commonly used log format strings are:</p>
-
- <dl>
- <dt>Common Log Format (CLF)</dt>
-
- <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd>
-
- <dt>Common Log Format with Virtual Host</dt>
-
- <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd>
-
- <dt>NCSA extended/combined log format</dt>
-
- <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
- \"%{User-agent}i\""</code></dd>
-
- <dt>Referer log format</dt>
-
- <dd><code>"%{Referer}i -> %U"</code></dd>
-
- <dt>Agent (Browser) log format</dt>
-
- <dd><code>"%{User-agent}i"</code></dd>
- </dl>
-
- <p>Note that the canonical <a href="core.html#servername">ServerName</a> and <a href="mpm_common.html#listen">Listen</a> of the server serving the
- request are used for <code>%v</code> and <code>%p</code>
- respectively. This happens regardless of the <a href="core.html#usecanonicalname">UseCanonicalName</a> setting
- because otherwise log analysis programs would have to duplicate
- the entire vhost matching algorithm in order to decide what
- host really served the request.</p>
- <h2>Security Considerations</h2>
-
-
-
- <p>See the <a href="../misc/security_tips.html#serverroot">security tips</a>
- document for details on why your security could be compromised
- if the directory where logfiles are stored is writable by
- anyone other than the user that starts the server.</p>
-
- <hr/><h2><a name="CookieLog">CookieLog</a> <a name="cookielog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets filename for the logging of cookies</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieLog <em>filename</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_log_config</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Only available in Apache 1.2 and above</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">CookieLog</code> directive sets the
- filename for logging of cookies. The filename is relative to the
- <a href="core.html#serverroot" class="directive"><code class="directive">serverroot</code></a>. This directive is
- included only for compatibility with <code><a href="mod_cookies.html">mod_cookies</a></code>,
- and is deprecated.</p>
-<hr/><h2><a name="CustomLog">CustomLog</a> <a name="customlog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets filename and format of log file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CustomLog
- <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em>
- [env=[!]<em>environment-variable</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_log_config</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Nickname only available in Apache 1.3 or later.
-Conditional logging available in 1.3.5 or later.</td></tr></table></td></tr></table>
- <p>The <code class="directive">CustomLog</code> directive is used to
- log requests to the server. A log format is specified, and the
- logging can optionally be made conditional on request
- characteristics using environment variables.</p>
-
- <p>The first argument, which specifies the location to which
- the logs will be written, can take on one of the following two
- types of values:</p>
-
- <dl>
- <dt><em>file</em></dt>
-
- <dd>A filename, relative to the <a href="core.html#serverroot">ServerRoot</a>.</dd>
-
- <dt><em>pipe</em></dt>
-
- <dd>The pipe character "<code>|</code>", followed by the path
- to a program to receive the log information on its standard
- input. <strong>Security:</strong> if a program is used, then
- it will be run under the user who started httpd. This will be
- root if the server was started by root; be sure that the
- program is secure.</dd>
- </dl>
-
- <p>The second argument specifies what will be written to the
- log file. It can specify either a <em>nickname</em> defined by
- a previous <a href="#logformat">LogFormat</a> directive, or it
- can be an explicit <em>format</em> string as described in the
- <a href="#formats">log formats</a> section.</p>
-
- <p>For example, the following two sets of directives have
- exactly the same effect:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- # CustomLog with format nickname<br>
- LogFormat "%h %l %u %t \"%r\" %>s %b" common<br>
- CustomLog logs/access_log common<br>
-<br>
- # CustomLog with explicit format string<br>
- CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"<br>
-</code></td></tr></table></blockquote>
-
- <p>The third argument is optional and allows the decision on
- whether or not to log a particular request to be based on the
- presence or absence of a particular variable in the server
- environment. If the specified <a href="../env.html">environment
- variable</a> is set for the request (or is not set, in the case
- of a '<code>env=!<em>name</em></code>' clause), then the
- request will be logged.</p>
-
- <p>Environment variables can be set on a <em>per</em>-request
- basis using the <code><a href="mod_setenvif.html">mod_setenvif</a></code>
- and/or <code><a href="mod_rewrite.html">mod_rewrite</a></code> modules. For
- example, if you don't want to record requests for all GIF
- images on your server in a separate logfile but not your main
- log, you can use:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- SetEnvIf Request_URI \.gif$ gif-image<br>
- CustomLog gif-requests.log common env=gif-image<br>
- CustomLog nongif-requests.log common env=!gif-image
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="LogFormat">LogFormat</a> <a name="logformat">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Describes a format for use in a log file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LogFormat
- <em>format</em>|<em>nickname</em> [<em>nickname</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_log_config</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Nickname only available in Apache 1.3 or later.
-</td></tr></table></td></tr></table>
- <p>This directive specifies the format of the access log
- file.</p>
-
- <p>The <code class="directive">LogFormat</code> directive can take one of two
- forms. In the first form, where only one argument is specified,
- this directive sets the log format which will be used by logs
- specified in subsequent <code class="directive">TransferLog</code>
- directives. The single argument can specify an explicit
- <em>format</em> as discussed in <a href="#formats">custom log
- formats</a> section above. Alternatively, it can use a
- <em>nickname</em> to refer to a log format defined in a
- previous <code class="directive">LogFormat</code> directive as described
- below.</p>
-
- <p>The second form of the <code class="directive">LogFormat</code>
- directive associates an explicit <em>format</em> with a
- <em>nickname</em>. This <em>nickname</em> can then be used in
- subsequent <code class="directive">LogFormat</code> or
- <code class="directive">CustomLog</code> directives rather than
- repeating the entire format string. A
- <code class="directive">LogFormat</code>
- directive which defines a nickname <strong>does nothing
- else</strong> -- that is, it <em>only</em> defines the
- nickname, it doesn't actually apply the format and make it the
- default. Therefore, it will not affect subsequent
- <code class="directive">TransferLog</code> directives.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>LogFormat "%v %h %l %u %t \"%r\" %>s %b"
- vhost_common</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="TransferLog">TransferLog</a> <a name="transferlog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Specifly location of a log file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>TransferLog <em>file</em>|<em>pipe</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_log_config</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td/></tr></table></td></tr></table>
-
- <p>This directive has exactly the same arguments and effect as
- the <code class="directive">CustomLog</code> directive, with the
- exception that it does not allow the log format to be specified
- explicitly or for conditional logging of requests. Instead, the
- log format is determined by the most recently specified
- specified <code class="directive">LogFormat</code> directive (which
- does not define a nickname). Common Log Format is used if no
- other format has been specified.</p>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""<br>
- TransferLog logs/access_log
-</code></td></tr></table></blockquote>
-
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_mime- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_mime</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Associates the requested filename's extensions
- with the file's behavior (handlers and filters)
- and content (mime-type, language, character set and
- encoding)</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mime_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module is used to associate various bits of "meta
- information" with files by their filename extensions. This
- information relates the filename of the document to it's
- mime-type, language, character set and encoding. This
- information is sent to the browser, and participates in content
- negotiation, so the user's preferences are respected when
- choosing one of several possible files to serve. See
- <code><a href="mod_negotiation.html">mod_negotiation</a></code> for more information
- about content negotiation. </p>
-
- <p>The directives <a href="#addcharset" class="directive"><code class="directive">AddCharset</code></a>, <a href="#addencoding" class="directive"><code class="directive">AddEncoding</code></a>, <a href="#addlanguage" class="directive"><code class="directive">AddLanguage</code></a> and <a href="#addtype" class="directive"><code class="directive">AddType</code></a> are all used to map file
- extensions onto the meta-information for that file. Respectively
- they set the character set, content-encoding, content-language,
- and MIME-type (content-type) of documents. The directive <a href="#typesconfig" class="directive"><code class="directive">TypesConfig</code></a> is used to specify a
- file which also maps extensions onto MIME types. </p>
-
- <p>In addition, <code><a href="mod_mime.html">mod_mime</a></code> may define the <a href="../handler.html">handler</a> and <a href="../filter.html">filters</a> that originate and process
- content. The directives <a href="#addhandler" class="directive"><code class="directive">AddHandler</code></a>, <a href="#addoutputfilter" class="directive"><code class="directive">AddOutputFilter</code></a>, and <a href="#addinputfilter" class="directive"><code class="directive">AddInputFilter</code></a> control the modules
- or scripts that serve the document. The <a href="#multiviewsmatch" class="directive"><code class="directive">MultiviewsMatch</code></a> directive allows
- <code><a href="mod_negotiation.html">mod_negotiation</a></code> to consider these file extensions
- to included when testing Multiviews matches.</p>
-
- <p>While <code><a href="mod_mime.html">mod_mime</a></code> associates meta-information
- with filename extensions, the <code><a href="core.html">core</a></code> server
- provides directives that are used to associate all the files in a
- given container (<em>e.g.</em>, <a href="core.html#location" class="directive"><code class="directive"><location></code></a>, <a href="core.html#directory" class="directive"><code class="directive"><directory></code></a>, or <a href="core.html#files" class="directive"><code class="directive"><Files></code></a>) with particular
- meta-information. These directives include <a href="core.html#forcetype" class="directive"><code class="directive">ForceType</code></a>, <a href="core.html#sethandler" class="directive"><code class="directive">SetHandler</code></a>, <a href="core.html#setinputfilter" class="directive"><code class="directive">SetInputFilter</code></a>, and <a href="core.html#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a>. The core directives
- override any filename extension mappings defined in
- <code><a href="mod_mime.html">mod_mime</a></code>.</p>
-
- <p>Note that changing the meta-information for a file does not
- change the value of the <code>Last-Modified</code> header.
- Thus, previously cached copies may still be used by a client or
- proxy, with the previous headers. If you change the
- meta-information (language, content type, character set or
- encoding) you may need to 'touch' affected files (updating
- their last modified date) to ensure that all visitors are
- receive the corrected content headers.</p>
-<h2>Directives</h2><ul><li><a href="#addcharset">AddCharset</a></li><li><a href="#addencoding">AddEncoding</a></li><li><a href="#addhandler">AddHandler</a></li><li><a href="#addinputfilter">AddInputFilter</a></li><li><a href="#addlanguage">AddLanguage</a></li><li><a href="#addoutputfilter">AddOutputFilter</a></li><li><a href="#addtype">AddType</a></li><li><a href="#defaultlanguage">DefaultLanguage</a></li><li><a href="#multiviewsmatch">MultiviewsMatch</a></li><li><a href="#removecharset">RemoveCharset</a></li><li><a href="#removeencoding">RemoveEncoding</a></li><li><a href="#removehandler">RemoveHandler</a></li><li><a href="#removeinputfilter">RemoveInputFilter</a></li><li><a href="#removelanguage">RemoveLanguage</a></li><li><a href="#removeoutputfilter">RemoveOutputFilter</a></li><li><a href="#removetype">RemoveType</a></li><li><a href="#typesconfig">TypesConfig</a></li></ul><p><strong>See also </strong></p><ul><li><a href="mod_mime_magic.html#mimemagicfile" class="directive"><code class="directive">MimeMagicFile</code></a></li><li><a href="core.html#adddefaultcharset" class="directive"><code class="directive">AddDefaultCharset</code></a></li><li><a href="core.html#forcetype" class="directive"><code class="directive">ForceType</code></a></li><li><a href="core.html#defaulttype" class="directive"><code class="directive">DefaultType</code></a></li><li><a href="core.html#sethandler" class="directive"><code class="directive">SetHandler</code></a></li><li><a href="core.html#setinputfilter" class="directive"><code class="directive">SetInputFilter</code></a></li><li><a href="core.html#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a></li></ul><h2><a name="multipleext">Files with Multiple Extensions</a></h2>
-
-
- <p>Files can have more than one extension, and the order of the
- extensions is <em>normally</em> irrelevant. For example, if the
- file <code>welcome.html.fr</code> maps onto content type
- text/html and language French then the file <code>welcome.fr.html</code>
- will map onto exactly the same information. If more than one
- extension is given which maps onto the same
- type of meta-information, then the one to the right will be
- used. For example, if ".gif" maps to the MIME-type image/gif
- and ".html" maps to the MIME-type text/html, then the file
- <code>welcome.gif.html</code> will be associated with the
- MIME-type "text/html".</p>
-
- <p>Care should be taken when a file with multiple extensions
- gets associated with both a MIME-type and a handler. This will
- usually result in the request being by the module associated
- with the handler. For example, if the <code>.imap</code>
- extension is mapped to the handler "imap-file" (from mod_imap)
- and the <code>.html</code> extension is mapped to the MIME-type
- "text/html", then the file <code>world.imap.html</code> will be
- associated with both the "imap-file" handler and "text/html"
- MIME-type. When it is processed, the "imap-file" handler will
- be used, and so it will be treated as a mod_imap imagemap
- file.</p>
-<h2><a name="contentencoding">Content encoding</a></h2>
-
- <p>A file of a particular MIME type can additionally be encoded a
- particular way to simplify transmission over the Internet.
- While this usually will refer to compression, such as
- <code>gzip</code>, it can also refer to encryption, such a
- <code>pgp</code> or to an encoding such as UUencoding, which is
- designed for transmitting a binary file in an ASCII (text)
- format.</p>
-
- <p>The MIME RFC puts it this way:</p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">
- The Content-Encoding entity-header field is used as a
- modifier to the media-type. When present, its value indicates
- what additional content coding has been applied to the
- resource, and thus what decoding mechanism must be applied in
- order to obtain the media-type referenced by the Content-Type
- header field. The Content-Encoding is primarily used to allow
- a document to be compressed without losing the identity of
- its underlying media type.
- </td></tr></table></blockquote>
-
- <p>By using more than one file extension (see <a href="#multipleext">section above about multiple file
- extensions</a>), you can indicate that a file is of a
- particular <em>type</em>, and also has a particular
- <em>encoding</em>. </p>
-
- <p>For example, you may have a file which is a Microsoft Word
- document, which is pkzipped to reduce its size. If the
- <code>.doc</code> extension is associated with the Microsoft
- Word file type, and the <code>.zip</code> extension is
- associated with the pkzip file encoding, then the file
- <code>Resume.doc.zip</code>would be known to be a pkzip'ed Word
- document.</p>
-
- <p>Apache send a <code>Content-encoding</code> header with the
- resource, in order to tell the client browser about the
- encoding method.</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Content-encoding: pkzip</code></td></tr></table></blockquote>
-
-<h2>Character sets and languages</h2>
-
-
-
- <p>In addition to file type and the file encoding,
- another important piece of information is what language a
- particular document is in, and in what character set the file
- should be displayed. For example, the document might be written
- in the Vietnamese alphabet, or in Cyrillic, and should be
- displayed as such. This information, also, is transmitted in
- HTTP headers.</p>
-
- <p>The character set, language encoding and mime type are all
- used in the process of content negotiation (See
- <code><a href="mod_negotiation.html">mod_negotiation</a></code>) to determine
- which document to give to the client, when there are
- alternative documents in more than one character set, language,
- encoding or mime type. All filename extensions associations
- created with <code><a href="AddCharset.html">AddCharset</a></code>, <code><a href="AddEncoding.html">AddEncoding</a></code>,
- <code><a href="AddLanguage.html">AddLanguage</a></code> and <code><a href="AddType.html">AddType</a></code> directives
- (and extensions listed in the <code><a href="MimeMagicFile.html">MimeMagicFile</a></code>)
- participate in this select process. Filename extensions that
- are only associated using the <code><a href="AddHandler.html">AddHandler</a></code>,
- <code><a href="AddInputFilter.html">AddInputFilter</a></code> or <code><a href="AddOutputFilter.html">AddOutputFilter</a></code>
- directives may be included or excluded from matching by using
- the <code class="directive">MultiviewsMatch</code> directive.</p>
-
-<h3>Charset</h3>
-
-
- <p>To convey this further information, Apache optionally sends
- a <code>Content-Language</code> header, to specify the language
- that the document is in, and can append additional information
- onto the <code>Content-Type</code> header to indicate the
- particular character set that should be used to correctly
- render the information.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-Content-Language: en, fr<br>
-Content-Type: text/plain; charset=ISO-8859-2
-</code></td></tr></table></blockquote>
-
- <p>The language specification is the two-letter abbreviation
- for the language. The <code>charset</code> is the name of the
- particular character set which should be used.</p>
-
-<hr/><h2><a name="AddCharset">AddCharset</a> <a name="addcharset">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps the given filename extensions
- to the specified content charset</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddCharset <em>charset extension</em>
-[<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>AddCharset is only available in Apache
-1.3.10 and later</td></tr></table></td></tr></table>
-
- <p>The AddCharset directive maps the given filename extensions
- to the specified content charset. <em>charset</em> is the MIME
- charset parameter of filenames containing <em>extension</em>.
- This mapping is added to any already in force, overriding any
- mappings that already exist for the same <em>extension</em>.</p>
-
- <p>Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddLanguage ja .ja<br>
- AddCharset EUC-JP .euc<br>
- AddCharset ISO-2022-JP .jis<br>
- AddCharset SHIFT_JIS .sjis
-</code></td></tr></table></blockquote>
-
- <p>Then the document <code>xxxx.ja.jis</code> will be treated
- as being a Japanese document whose charset is ISO-2022-JP (as
- will the document <code>xxxx.jis.ja</code>). The AddCharset
- directive is useful for both to inform the client about the
- character encoding of the document so that the document can be
- interpreted and displayed appropriately, and for <a href="../content-negotiation.html">content negotiation</a>,
- where the server returns one from several documents based on
- the client's charset preference.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<p><strong>See also </strong></p><ul><li><code><a href="mod_negotiation.html">mod_negotiation</a></code></li><li><a href="core.html#adddefaultcharset" class="directive"><code class="directive">AddDefaultCharset</code></a></li></ul><hr/><h2><a name="AddEncoding">AddEncoding</a> <a name="addencoding">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps the given filename extensions
- to the specified encoding type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddEncoding
- <em>MIME-enc extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr></table></td></tr></table>
-
- <p>The AddEncoding directive maps the given filename extensions
- to the specified encoding type. <em>MIME-enc</em> is the MIME
- encoding to use for documents containing the
- <em>extension</em>. This mapping is added to any already in
- force, overriding any mappings that already exist for the same
- <em>extension</em>. Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddEncoding x-gzip .gz<br>
- AddEncoding x-compress .Z
- </code></td></tr></table></blockquote>
-
- <p>This will cause filenames containing the .gz extension to be
- marked as encoded using the x-gzip encoding, and filenames
- containing the .Z extension to be marked as encoded with
- x-compress. </p>
-
- <p>Old clients expect <code>x-gzip</code> and
- <code>x-compress</code>, however the standard dictates that
- they're equivalent to <code>gzip</code> and
- <code>compress</code> respectively. Apache does content
- encoding comparisons by ignoring any leading <code>x-</code>.
- When responding with an encoding Apache will use whatever form
- (<em>i.e.</em>, <code>x-foo</code> or <code>foo</code>) the
- client requested. If the client didn't specifically request a
- particular form Apache will use the form given by the
- <code>AddEncoding</code> directive. To make this long story
- short, you should always use <code>x-gzip</code> and
- <code>x-compress</code> for these two specific encodings. More
- recent encodings, such as <code>deflate</code> should be
- specified without the <code>x-</code>.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<hr/><h2><a name="AddHandler">AddHandler</a> <a name="addhandler">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps the filename extensions
-to the specified handler</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddHandler
- <em>handler-name extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td/></tr></table></td></tr></table>
-<p>Files having the named <em>extension</em> will be served by the
-specified <a href="../handler.html">handler-name</a>. This mapping is
-added to any already in force, overriding any mappings that already
-exist for the same <em>extension</em>. For example, to activate CGI
-scripts with the file extension "<code>.cgi</code>", you might
-use:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddHandler cgi-script .cgi
-</code></td></tr></table></blockquote>
-
- <p>Once that has been put into your srm.conf or httpd.conf
- file, any file containing the "<code>.cgi</code>" extension
- will be treated as a CGI program.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<p><strong>See also </strong></p><ul><li><a href="core.html#sethandler" class="directive"><code class="directive">SetHandler</code></a></li></ul><hr/><h2><a name="AddInputFilter">AddInputFilter</a> <a name="addinputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps filename extensions
- to the filters that will process
- client requests</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddInputFilter
- <em>filter</em>[<em>;filter</em>...] extension
- [<em>extension</em> ...]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>AddInputFilter
- is only available in Apache 2.0.26 and later.</td></tr></table></td></tr></table>
-
- <p>AddInputFilter maps the filename extensions <em>extension</em>
- to the <a href="../filter.html">filters</a> which will process
- client requests and POST input when they are received by the
- server. This is in addition to any filters defined elsewhere,
- including the <a href="core.html#setinputfilter">SetInputFilter</a> directive.
- This mapping is merged over any already in force, overriding any
- mappings that already exist for the same <em>extension</em>.</p>
-
- <p>If more than one filter is specified, they must be separated
- by semicolons in the order in which they should process the
- content. Both the filter and <em>extension</em> arguments are
- case-insensitive, and the extension may be specified with or
- without a leading dot.</p>
-
-<hr/><h2><a name="AddLanguage">AddLanguage</a> <a name="addlanguage">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps the given filename extension
-to the specified content language</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddLanguage
- <em>MIME-lang extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr></table></td></tr></table>
-
- <p>The AddLanguage directive maps the given filename extension
- to the specified content language. <em>MIME-lang</em> is the
- MIME language of filenames containing <em>extension</em>. This
- mapping is added to any already in force, overriding any
- mappings that already exist for the same
- <em>extension</em>.</p>
-
- <p>Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddEncoding x-compress .Z<br>
- AddLanguage en .en<br>
- AddLanguage fr .fr
- </code></td></tr></table></blockquote>
-
- <p>Then the document <code>xxxx.en.Z</code> will be treated as
- being a compressed English document (as will the document
- <code>xxxx.Z.en</code>). Although the content language is
- reported to the client, the browser is unlikely to use this
- information. The AddLanguage directive is more useful for <a href="../content-negotiation.html">content negotiation</a>,
- where the server returns one from several documents based on
- the client's language preference.</p>
-
- <p>If multiple language assignments are made for the same
- extension, the last one encountered is the one that is used.
- That is, for the case of:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddLanguage en .en<br>
- AddLanguage en-uk .en<br>
- AddLanguage en-us .en
-</code></td></tr></table></blockquote>
-
- <p>documents with the extension "<code>.en</code>" would be
- treated as being "<code>en-us</code>".</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<p><strong>See also </strong></p><ul><li><code><a href="mod_negotiation.html">mod_negotiation</a></code></li></ul><hr/><h2><a name="AddOutputFilter">AddOutputFilter</a> <a name="addoutputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>maps the filename
-extensions to the filters that will process
-responses from the server</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddOutputFilter
- <em>filter</em>[<em>;filter</em>...] extension
- [<em>extension</em> ...]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>AddOutputFilter
- is only available in Apache 2.0.26 and later.</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">AddOutputFilter</code> directive maps the
- filename extensions <em>extension</em> to the <a href="../filter.html">filters</a> which will process responses
- from the server before they are sent to the client. This is in
- addition to any filters defined elsewhere, including the
- <a href="core.html#setoutputfilter" class="directive"><code class="directive">SetOutputFilter</code></a>
- directive. This mapping is merged over any already in force,
- overriding any mappings that already exist for the same
- <em>extension</em>.</p>
-
- <p>For example, the following configuration will process all
- .shtml files for server-side includes and will then compress
- the output using <code><a href="mod_deflate.html">mod_deflate</a></code>.</p>
-
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddOutputFilter INCLUDES;DEFLATE shtml
- </code></td></tr></table></blockquote>
-
- <p>If more than one filter is specified, they must be separated
- by semicolons in the order in which they should process the
- content. Both the filter and <em>extension</em> arguments are
- case-insensitive, and the extension may be specified with or
- without a leading dot.</p>
-
-<hr/><h2><a name="AddType">AddType</a> <a name="addtype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maps the given filename extensions
-onto the specified content type</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AddType <em>MIME-type
- extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr></table></td></tr></table>
-
- <p>The AddType directive maps the given filename extensions onto
- the specified content type. <em>MIME-type</em> is the MIME type to
- use for filenames containing <em>extension</em>. This mapping is
- added to any already in force, overriding any mappings that
- already exist for the same <em>extension</em>. This directive can
- be used to add mappings not listed in the MIME types file (see the
- <a href="#typesconfig" class="directive"><code class="directive">TypesConfig</code></a>
- directive).</p>
-
- <p>Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- AddType image/gif .gif
- </code></td></tr></table></blockquote>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">It is recommended that new MIME types be added using the
- AddType directive rather than changing the
- <code class="directive">TypesConfig</code> file. </td></tr></table></blockquote>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<p><strong>See also </strong></p><ul><li><a href="core.html#defaulttype" class="directive"><code class="directive">DefaultType</code></a></li><li><a href="core.html#forcetype" class="directive"><code class="directive">ForceType</code></a></li></ul><hr/><h2><a name="DefaultLanguage">DefaultLanguage</a> <a name="defaultlanguage">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets all files in the given scope to the
-specified language</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>DefaultLanguage
- <em>MIME-lang</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>DefaultLanguage
- is only available in Apache 1.3.4 and later.</td></tr></table></td></tr></table>
-
- <p>The DefaultLanguage directive tells Apache that all files in
- the directive's scope (<em>e.g.</em>, all files covered by the
- current <code><Directory></code> container) that don't
- have an explicit language extension (such as <code>.fr</code>
- or <code>.de</code> as configured by <code>AddLanguage</code>)
- should be considered to be in the specified <em>MIME-lang</em>
- language. This allows entire directories to be marked as
- containing Dutch content, for instance, without having to
- rename each file. Note that unlike using extensions to specify
- languages, <code>DefaultLanguage</code> can only specify a
- single language.</p>
-
- <p>If no <code>DefaultLanguage</code> directive is in force,
- and a file does not have any language extensions as configured
- by <code>AddLanguage</code>, then that file will be considered
- to have no language attribute.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-DeafaultLanguage en
-</code></td></tr></table></blockquote>
-
-<p><strong>See also </strong></p><ul><li><code><a href="mod_negotiation.html">mod_negotiation</a></code></li></ul><hr/><h2><a name="MultiviewsMatch">MultiviewsMatch</a> <a name="multiviewsmatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The types of files that will be included when
-searching for a matching file with MultiViews</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MultiviewsMatch
- <em>[NegotiatedOnly] [Handlers] [Filters] [Any]</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available
- in Apache 2.0.26 and later.</td></tr></table></td></tr></table>
-
- <p>MultiviewsMatch permits three different behaviors for
- <a href="mod_negotiation.html">mod_negotiation</a>'s Multiviews
- feature. Multiviews allows a request for a file, e.g. index.html,
- to match any negotiated extensions following the base request,
- e.g. index.html.en, index.html,fr, or index.html.gz.</p>
-
- <p>The NegotiatedOnly option provides that every extension following
- the base name must correlate to a recognized mod_mime extension for
- content negotation, e.g. Charset, Content-Type, Language, or
- Encoding. This is the strictest implementation with the fewest
- unexpected side effects, and is the default behavior.</p>
-
- <p>To include extensions associated with Handlers and/or Filters,
- set the MultiviewsMatch directive to either Handlers, Filters, or
- both option keywords. If all other factors are equal, the smallest
- file will be served, e.g. in deciding between index.html.cgi of 500
- characters and index.html.pl of 1000 bytes, the .cgi file would win
- in this example. Users of .asis files might prefer to use the
- Handler option, if .asis files are associated with the asis-handler.</p>
-
- <p>You may finally allow Any extensions to match, even if mod_mime
- doesn't recognize the extension. This was the behavior in Apache 1.3,
- and can cause unpredicatable results, such as serving .old or .bak
- files the webmaster never expected to be served.</p>
-
- <p>For example, the following configuration will allow handlers
- and filters to participate in Multviews, but will exclude unknown
- files:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-MultiviewsMatch Handlers Filters
-</code></td></tr></table></blockquote>
-
-<p><strong>See also </strong></p><ul><li><a href="core.html#options" class="directive"><code class="directive">Options</code></a></li></ul><hr/><h2><a name="RemoveCharset">RemoveCharset</a> <a name="removecharset">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any character set associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveCharset
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveCharset is
- only available in Apache 2.0.24 and later.</td></tr></table></td></tr></table>
- <p>The <code>RemoveCharset</code> directive removes any
- character set associations for files with the given extensions.
- This allows <code>.htaccess</code> files in subdirectories to
- undo any associations inherited from parent directories or the
- server config files.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-RemoveCharset .html .shtml
-</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="RemoveEncoding">RemoveEncoding</a> <a name="removeencoding">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any content encoding associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveEncoding
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveEncoding
- is only available in Apache 1.3.13 and later.</td></tr></table></td></tr></table>
-
- <p>The <code>RemoveEncoding</code> directive removes any
- encoding associations for files with the given extensions. This
- allows <code>.htaccess</code> files in subdirectories to undo
- any associations inherited from parent directories or the
- server config files. An example of its use might be:</p>
-
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <dl>
- <dt><code>/foo/.htaccess:</code></dt>
- <dd><code>AddEncoding x-gzip .gz</code><br>
- <code>AddType text/plain .asc</code><br>
- <code><Files *.gz.asc></code><br>
- <code> RemoveEncoding
- .gz</code><br>
- <code></Files></code></dd>
- </dl>
-</code></td></tr></table></blockquote>
-
- <p>This will cause <code>foo.gz</code> to be marked as being
- encoded with the gzip method, but <code>foo.gz.asc</code> as an
- unencoded plaintext file.</p>
-
- <p><strong>Note:</strong>RemoveEncoding directives are processed
- <em>after</em> any AddEncoding directives, so it is possible they
- may undo the effects of the latter if both occur within the
- same directory configuration.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-<hr/><h2><a name="RemoveHandler">RemoveHandler</a> <a name="removehandler">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any handler associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveHandler
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveHandler is
- only available in Apache 1.3.4 and later.</td></tr></table></td></tr></table>
-
- <p>The <code>RemoveHandler</code> directive removes any handler
- associations for files with the given extensions. This allows
- <code>.htaccess</code> files in subdirectories to undo any
- associations inherited from parent directories or the server
- config files. An example of its use might be:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <dl>
- <dt><code>/foo/.htaccess:</code></dt>
-
- <dd><code>AddHandler server-parsed .html</code></dd>
-
- <dt><code>/foo/bar/.htaccess:</code></dt>
-
- <dd><code>RemoveHandler .html</code></dd>
- </dl>
-</code></td></tr></table></blockquote>
-
- <p>This has the effect of returning <code>.html</code> files in
- the <code>/foo/bar</code> directory to being treated as normal
- files, rather than as candidates for parsing (see the <a href="mod_include.html"><code>mod_include</code></a>
- module).</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-<hr/><h2><a name="RemoveInputFilter">RemoveInputFilter</a> <a name="removeinputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any input filter associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveInputFilter
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveInputFilter is only available in Apache
-2.0.26 and later.</td></tr></table></td></tr></table>
-
- <p>The <code>RemoveInputFilter</code> directive removes any
- input filter associations for files with the given extensions.
- This allows <code>.htaccess</code> files in subdirectories to
- undo any associations inherited from parent directories or the
- server config files.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-
-<hr/><h2><a name="RemoveLanguage">RemoveLanguage</a> <a name="removelanguage">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any language associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveLanguage
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveLanguage
- is only available in Apache 2.0.24 and later.</td></tr></table></td></tr></table>
-
- <p>The <code>RemoveLanguage</code> directive removes any
- language associations for files with the given extensions. This
- allows <code>.htaccess</code> files in subdirectories to undo
- any associations inherited from parent directories or the
- server config files.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-<hr/><h2><a name="RemoveOutputFilter">RemoveOutputFilter</a> <a name="removeoutputfilter">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any output filter associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveOutputFilter
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveOutputFilter is only available in Apache
-2.0.26 and later.</td></tr></table></td></tr></table>
-
- <p>The <code>RemoveOutputFilter</code> directive removes any
- output filter associations for files with the given extensions.
- This allows <code>.htaccess</code> files in subdirectories to
- undo any associations inherited from parent directories or the
- server config files.</p>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-<hr/><h2><a name="RemoveType">RemoveType</a> <a name="removetype">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Removes any content type associations for a set of file
-extensions</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RemoveType
- <em>extension</em> [<em>extension</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>RemoveType is
- only available in Apache 1.3.13 and later.</td></tr></table></td></tr></table>
- <p>The <code class="directive">RemoveType</code> directive removes any MIME type
- associations for files with the given extensions. This allows
- <code>.htaccess</code> files in subdirectories to undo any
- associations inherited from parent directories or the server
- config files. An example of its use might be:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <dl>
- <dt><code>/foo/.htaccess:</code></dt>
-
- <dd><code>RemoveType .cgi</code></dd>
- </dl>
-</code></td></tr></table></blockquote>
-
- <p>This will remove any special handling of <code>.cgi</code>
- files in the <code>/foo/</code> directory and any beneath it,
- causing the files to be treated as being of the <a href="core.html#defaulttype">default type</a>.</p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5"><strong>Note:</strong><code><a href="RemoveType.html">RemoveType</a></code> directives
- are processed <em>after</em> any <code><a href="AddType.html">AddType</a></code>
- directives, so it is possible they may undo the effects of the
- latter if both occur within the same directory
- configuration.</td></tr></table></blockquote>
-
- <p>The <em>extension</em> argument is case-insensitive, and can
- be specified with or without a leading dot.</p>
-<hr/><h2><a name="TypesConfig">TypesConfig</a> <a name="typesconfig">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The location of the mime.types file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>TypesConfig <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>TypesConfig conf/mime.types</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime</td></tr></table></td></tr></table>
-
- <p>The TypesConfig directive sets the location of the MIME types
- configuration file. <em>Filename</em> is relative to the <a href="core.html#serverroot">ServerRoot</a>. This file sets the
- default list of mappings from filename extensions to content
- types. Most administrators use the provided
- <code>mime.types</code> file, which associates common filename
- extensions with IANA registered content types. The current list is
- maintained at
- <code>http://www.isi.edu/in-notes/iana/assignments/media-types/media-types</code>. This
- simplifies the <code>httpd.conf</code> file by providing the
- majority of media-type definitions, and may be overridden by
- <a href="#addtype" class="directive"><code class="directive">AddType</code></a> directives as
- needed. You should not edit the <code>mime.types</code> file,
- because it may be replaced when you upgrade your server.</p>
-
- <p>The file contains lines in the format of the arguments to
- an <a href="#addtype" class="directive"><code class="directive">AddType</code></a> directive:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- MIME-type extension extension ...
- </code></td></tr></table></blockquote>
-
- <p>
- The case of the extension does not matter. Blank lines, and lines
- beginning with a hash character (`#') are ignored. </p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">Please do not send requests to the Apache HTTP Server Project
- to add any new entries in the distributed mime.types file
- unless (1) they are already registered with IANA, and (2) they
- use widely accepted, non-conflicting filename extensions across
- platforms. category/x-subtype requests will be automatically
- rejected, as will any new two-letter extensions as they will
- likely conflict later with the already crowded language and
- character set namespace.</td></tr></table></blockquote>
-
-<p><strong>See also </strong></p><ul><li><code><a href="mod_mime_magic.html">mod_mime_magic</a></code></li></ul><hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_mime_magic- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_mime_magic</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Determines the MIME type of a file
- by looking at a few bytes of its contents</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mime_magic_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module determines the MIME type of files in the same
- way the Unix file(1) command works: it looks at the first few
- bytes of the file. It is intended as a "second line of defense"
- for cases that <code><a href="mod_mime.html">mod_mime</a></code> can't
- resolve. To assure that mod_mime gets first try at determining
- a file's MIME type, be sure to list mod_mime_magic
- <strong>before</strong> mod_mime in the configuration.</p>
-
- <p>This module is derived from a free version of the
- <code>file(1)</code> command for Unix, which uses "magic
- numbers" and other hints from a file's contents to figure out
- what the contents are. This module is active only if the magic
- file is specified by the <a href="#mimemagicfile" class="directive"><code class="directive">MimeMagicFile</code></a> directive.</p>
-<h2>Directives</h2><ul><li><a href="#mimemagicfile">MimeMagicFile</a></li></ul><h2>Format of the Magic File</h2>
-
- <p>The contents of the file are plain ASCII text in 4-5
- columns. Blank lines are allowed but ignored. Commented lines
- use a hash mark "#". The remaining lines are parsed for the
- following columns:</p>
-
- <table border="1">
- <tr valign="top">
- <th>Column</th>
-
- <th>Description</th>
- </tr>
-
- <tr valign="top">
- <td>1</td>
-
- <td>byte number to begin checking from<br>
- ">" indicates a dependency upon the previous non-">"
- line</td>
- </tr>
-
- <tr valign="top">
- <td>2</td>
-
- <td>
- type of data to match
-
- <table border="1">
- <tr>
- <td>byte</td>
-
- <td>single character</td>
- </tr>
-
- <tr>
- <td>short</td>
-
- <td>machine-order 16-bit integer</td>
- </tr>
-
- <tr>
- <td>long</td>
-
- <td>machine-order 32-bit integer</td>
- </tr>
-
- <tr>
- <td>string</td>
-
- <td>arbitrary-length string</td>
- </tr>
-
- <tr>
- <td>date</td>
-
- <td>long integer date (seconds since Unix
- epoch/1970)</td>
- </tr>
-
- <tr>
- <td>beshort</td>
-
- <td>big-endian 16-bit integer</td>
- </tr>
-
- <tr>
- <td>belong</td>
-
- <td>big-endian 32-bit integer</td>
- </tr>
-
- <tr>
- <td>bedate</td>
-
- <td>big-endian 32-bit integer date</td>
- </tr>
-
- <tr>
- <td>leshort</td>
-
- <td>little-endian 16-bit integer</td>
- </tr>
-
- <tr>
- <td>lelong</td>
-
- <td>little-endian 32-bit integer</td>
- </tr>
-
- <tr>
- <td>ledate</td>
-
- <td>little-endian 32-bit integer date</td>
- </tr>
- </table>
- </td>
- </tr>
-
- <tr valign="top">
- <td>3</td>
-
- <td>contents of data to match</td>
- </tr>
-
- <tr valign="top">
- <td>4</td>
-
- <td>MIME type if matched</td>
- </tr>
-
- <tr valign="top">
- <td>5</td>
-
- <td>MIME encoding if matched (optional)</td>
- </tr>
- </table>
-
- <p>For example, the following magic file lines would recognize
- some audio formats.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-# Sun/NeXT audio data
-0 string .snd
->12 belong 1 audio/basic
->12 belong 2 audio/basic
->12 belong 3 audio/basic
->12 belong 4 audio/basic
->12 belong 5 audio/basic
->12 belong 6 audio/basic
->12 belong 7 audio/basic
->12 belong 23 audio/x-adpcm
-</pre>
-</code></td></tr></table></blockquote>
- <p>Or these would recognize the difference between "*.doc" files
- containing Microsoft Word or FrameMaker documents. (These are
- incompatible file formats which use the same file suffix.)</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-# Frame
-0 string \<MakerFile application/x-frame
-0 string \<MIFFile application/x-frame
-0 string \<MakerDictionary application/x-frame
-0 string \<MakerScreenFon application/x-frame
-0 string \<MML application/x-frame
-0 string \<Book application/x-frame
-0 string \<Maker application/x-frame
-
-# MS-Word
-0 string \376\067\0\043 application/msword
-0 string \320\317\021\340\241\261 application/msword
-0 string \333\245-\0\0\0 application/msword
-</pre>
-</code></td></tr></table></blockquote>
- <p>An optional MIME encoding can be included as a fifth column.
- For example, this can recognize gzipped files and set the
- encoding for them.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
-0 string \037\213 application/octet-stream x-gzip
-</pre>
-</code></td></tr></table></blockquote>
-<h2>Performance Issues</h2>
- <p>This module is not for every system. If your system is barely
- keeping up with its load or if you're performing a web server
- benchmark, you may not want to enable this because the
- processing is not free.</p>
-
- <p>However, an effort was made to improve the performance of
- the original file(1) code to make it fit in a busy web server.
- It was designed for a server where there are thousands of users
- who publish their own documents. This is probably very common
- on intranets. Many times, it's helpful if the server can make
- more intelligent decisions about a file's contents than the
- file name allows ...even if just to reduce the "why doesn't my
- page work" calls when users improperly name their own files.
- You have to decide if the extra work suits your
- environment.</p>
-
- <p>When compiling an Apache server, this module should be at or
- near the top of the list of modules in the Configuration file.
- The modules are listed in increasing priority so that will mean
- this one is used only as a last resort, just like it was
- designed to.</p>
-
-<h2><a name="notes">Notes</a></h2>
-
- <p>The following notes apply to the mod_mime_magic module and are
- included here for compliance with contributors' copyright
- restrictions that require their acknowledgment. </p>
-<pre>
-/*
- * mod_mime_magic: MIME type lookup via file magic numbers
- * Copyright (c) 1996-1997 Cisco Systems, Inc.
- *
- * This software was submitted by Cisco Systems to the Apache Group in July
- * 1997. Future revisions and derivatives of this source code must
- * acknowledge Cisco Systems as the original contributor of this module.
- * All other licensing and usage conditions are those of the Apache Group.
- *
- * Some of this code is derived from the free version of the file command
- * originally posted to comp.sources.unix. Copyright info for that program
- * is included below as required.
- * ---------------------------------------------------------------------------
- * - Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone and
- * Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on any
- * computer system, and to alter it and redistribute it freely, subject to
- * the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources, credits
- * must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users ever read
- * sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- * -------------------------------------------------------------------------
- *
- * For compliance with Mr Darwin's terms: this has been very significantly
- * modified from the free "file" command.
- * - all-in-one file for compilation convenience when moving from one
- * version of Apache to the next.
- * - Memory allocation is done through the Apache API's pool structure.
- * - All functions have had necessary Apache API request or server
- * structures passed to them where necessary to call other Apache API
- * routines. (<em>i.e.</em>, usually for logging, files, or memory allocation in
- * itself or a called function.)
- * - struct magic has been converted from an array to a single-ended linked
- * list because it only grows one record at a time, it's only accessed
- * sequentially, and the Apache API has no equivalent of realloc().
- * - Functions have been changed to get their parameters from the server
- * configuration instead of globals. (It should be reentrant now but has
- * not been tested in a threaded environment.)
- * - Places where it used to print results to stdout now saves them in a
- * list where they're used to set the MIME type in the Apache request
- * record.
- * - Command-line flags have been removed since they will never be used here.
- *
- */
-</pre>
-<hr/><h2><a name="MimeMagicFile">MimeMagicFile</a> <a name="mimemagicfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enable MIME-type determination based on file contents
-using the specified magic file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MimeMagicFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_mime_magic</td></tr></table></td></tr></table>
- <p>The <code class="directive">MimeMagicFile</code> directive can be used to
- enable this module, the default file is distributed at
- <code>conf/magic</code>. Non-rooted paths are relative to the
- ServerRoot. Virtual hosts will use the same file as the main
- server unless a more specific setting is used, in which case
- the more specific setting overrides the main server's file.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Apache module mod_mmap_static</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Module mod_mmap_static</h1>
-
- <p>This module provides mmap()ing of a statically configured
- list of frequently requested but not changed files.</p>
-
- <p><a href="module-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Experimental<br />
- <a href="module-dict.html#SourceFile"
- rel="Help"><strong>Source File:</strong></a>
- mod_mmap_static.c<br />
- <a href="module-dict.html#ModuleIdentifier"
- rel="Help"><strong>Module Identifier:</strong></a>
- mmap_static_module</p>
-
- <h2>Summary</h2>
-
- <p>This is an <strong>experimental</strong> module and should
- be used with care. You can easily create a broken site using
- this module, read this document carefully.
- <code>mod_mmap_static</code> maps a list of statically
- configured files (via <code>MMapFile</code> directives in the
- main server configuration) into memory through the system call
- <code>mmap()</code>. This system call is available on most
- modern Unix derivates, but not on all. There are sometimes
- system-specific limits on the size and number of files that can
- be mmap()d, experimentation is probably the easiest way to find
- out.</p>
-
- <p>This mmap()ing is done once at server start or restart,
- only. So whenever one of the mapped files changes on the
- filesystem you <em>have</em> to restart the server by at least
- sending it a HUP or USR1 signal (see the <a
- href="../stopping.html">Stopping and Restarting</a>
- documentation). To reiterate that point: if the files are
- modified <em>in place</em> without restarting the server you
- may end up serving requests that are completely bogus. You
- should update files by unlinking the old copy and putting a new
- copy in place. Most tools such as <code>rdist</code> and
- <code>mv</code> do this. The reason why this modules doesn't
- take care of changes to the files is that this check would need
- an extra <code>stat()</code> every time which is a waste and
- against the intent of I/O reduction.</p>
-
- <h2>Directives</h2>
-
- <ul>
- <li><a href="#mmapfile">MMapFile</a></li>
- </ul>
- <hr />
-
- <h2><a id="mmapfile" name="mmapfile">MMapFile</a>
- directive</h2>
-
- <p><a href="directive-dict.html#Syntax"
- rel="Help"><strong>Syntax:</strong></a> MMapFile
- <em>filename</em> [<em>filename</em>] ...<br />
- <a href="directive-dict.html#Default"
- rel="Help"><strong>Default:</strong></a> <em>None</em><br />
- <a href="directive-dict.html#Context"
- rel="Help"><strong>Context:</strong></a> server-config<br />
- <a href="directive-dict.html#Override"
- rel="Help"><strong>Override:</strong></a> <em>Not
- applicable</em><br />
- <a href="directive-dict.html#Status"
- rel="Help"><strong>Status:</strong></a> Experimental<br />
- <a href="directive-dict.html#Module"
- rel="Help"><strong>Module:</strong></a> mod_mmap_static<br />
- <a href="directive-dict.html#Compatibility"
- rel="Help"><strong>Compatibility:</strong></a> Only available
- in Apache 1.3 or later</p>
-
- <p>The <code>MMapFile</code> directive maps one or more files
- (given as whitespace separated arguments) into memory at server
- startup time. They are automatically unmapped on a server
- shutdown. When the files have changed on the filesystem at
- least a HUP or USR1 signal should be send to the server to
- re-mmap them.</p>
-
- <p>Be careful with the <em>filename</em> arguments: They have
- to literally match the filesystem path Apache's URL-to-filename
- translation handlers create. We cannot compare inodes or other
- stuff to match paths through symbolic links <em>etc.</em>
- because that again would cost extra <code>stat()</code> system
- calls which is not acceptable. This module may or may not work
- with filenames rewritten by <code>mod_alias</code> or
- <code>mod_rewrite</code>... it is an experiment after all.</p>
-
- <p>Notice: You cannot use this for speeding up CGI programs or
- other files which are served by special content handlers. It
- can only be used for regular files which are usually served by
- the Apache core content handler.</p>
- Example:
-<pre>
- MMapFile /usr/local/apache/htdocs/index.html
-
-</pre>
-
- <p><strong>Note</strong>: don't bother asking for a for a
- <code>MMapDir</code> directive which recursively maps all the
- files in a directory. Use Unix the way it was meant to be used.
- For example, see the <a href="core.html#include">Include</a>
- directive, and consider this command:</p>
-<pre>
- find /www/htdocs -type f -print \
- | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
-
-</pre>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_negotiation- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_negotiation</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for <a href="../content-negotiation.html">content negotiation</a></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>negotiation_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>Content negotiation, or more accurately content selection, is
- the selection of the document that best matches the clients
- capabilities, from one of several available documents. There
- are two implementations of this.</p>
-
- <ul>
- <li>A type map (a file with the handler
- <code>type-map</code>) which explicitly lists the files
- containing the variants.</li>
-
- <li>A MultiViews search (enabled by the MultiViews <a href="core.html#options" class="directive"><code class="directive">Options</code></a>, where the server does an
- implicit filename pattern match, and choose from amongst the
- results.</li>
- </ul>
-<h2>Directives</h2><ul><li><a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li><li><a href="#forcelanguagepriority">ForceLanguagePriority</a></li><li><a href="#languagepriority">LanguagePriority</a></li></ul><p><strong>See also </strong></p><ul><li><a href="mod_mime.html#defaultlanguage" class="directive"><code class="directive">DefaultLanguage</code></a></li><li><a href="mod_mime.html#addencoding" class="directive"><code class="directive">AddEncoding</code></a></li><li><a href="mod_mime.html#addlanguage" class="directive"><code class="directive">AddLanguage</code></a></li><li><a href="mod_mime.html#addtype" class="directive"><code class="directive">AddType</code></a></li></ul><h2>Type maps</h2>
- <p>A type map has the same format as RFC822 mail headers. It
- contains document descriptions separated by blank lines, with
- lines beginning with a hash character ('#') treated as
- comments. A document description consists of several header
- records; records may be continued on multiple lines if the
- continuation lines start with spaces. The leading space will be
- deleted and the lines concatenated. A header record consists of
- a keyword name, which always ends in a colon, followed by a
- value. Whitespace is allowed between the header name and value,
- and between the tokens of value. The headers allowed are: </p>
-
- <dl>
- <dt>Content-Encoding:</dt>
-
- <dd>The encoding of the file. Apache only recognizes
- encodings that are defined by an <a href="mod_mime.html#addencoding" class="directive"><code class="directive">AddEncoding</code></a> directive.
- This normally includes the encodings <code>x-compress</code>
- for compress'd files, and <code>x-gzip</code> for gzip'd
- files. The <code>x-</code> prefix is ignored for encoding
- comparisons.</dd>
-
- <dt>Content-Language:</dt>
-
- <dd>The language of the variant, as an Internet standard
- language tag (RFC 1766). An example is <code>en</code>,
- meaning English.</dd>
-
- <dt>Content-Length:</dt>
-
- <dd>The length of the file, in bytes. If this header is not
- present, then the actual length of the file is used.</dd>
-
- <dt>Content-Type:</dt>
-
- <dd>
- The MIME media type of the document, with optional
- parameters. Parameters are separated from the media type
- and from one another by a semi-colon, with a syntax of
- <code>name=value</code>. Common parameters include:
-
- <dl>
- <dt>level</dt>
-
- <dd>an integer specifying the version of the media type.
- For <code>text/html</code> this defaults to 2, otherwise
- 0.</dd>
-
- <dt>qs</dt>
-
- <dd>a floating-point number with a value in the range 0.0
- to 1.0, indicating the relative 'quality' of this variant
- compared to the other available variants, independent of
- the client's capabilities. For example, a jpeg file is
- usually of higher source quality than an ascii file if it
- is attempting to represent a photograph. However, if the
- resource being represented is ascii art, then an ascii
- file would have a higher source quality than a jpeg file.
- All qs values are therefore specific to a given
- resource.</dd>
- </dl>
- Example:
-
- <blockquote>
- <code>Content-Type: image/jpeg; qs=0.8</code>
- </blockquote>
- </dd>
-
- <dt>URI:</dt>
-
- <dd>The path to the file containing this variant, relative to
- the map file.</dd>
- </dl>
-<h2>MultiViews</h2>
-
- <p>A MultiViews search is enabled by the MultiViews <a href="core.html#options" class="directive"><code class="directive">Options</code></a>. If the server receives a
- request for <code>/some/dir/foo</code> and
- <code>/some/dir/foo</code> does <em>not</em> exist, then the
- server reads the directory looking for all files named
- <code>foo.*</code>, and effectively fakes up a type map which
- names all those files, assigning them the same media types and
- content-encodings it would have if the client had asked for one
- of them by name. It then chooses the best match to the client's
- requirements, and returns that document.</p>
-<hr/><h2><a name="CacheNegotiatedDocs">CacheNegotiatedDocs</a> <a name="cachenegotiateddocs">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Allows content-negotiated documents to be
-cached by proxy servers</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CacheNegotiatedDocs on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>CacheNegotiatedDocs off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_negotiation</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>The syntax changed in version 2.0.</td></tr></table></td></tr></table>
- <p>If set, this directive allows content-negotiated documents
- to be cached by proxy servers. This could mean that clients
- behind those proxys could retrieve versions of the documents
- that are not the best match for their abilities, but it will
- make caching more efficient.</p>
-
- <p>This directive only applies to requests which come from
- HTTP/1.0 browsers. HTTP/1.1 provides much better control over
- the caching of negotiated documents, and this directive has no
- effect in responses to HTTP/1.1 requests.</p>
-
- <p>Prior to version 2.0,
- <code class="directive">CacheNegotiatedDocs</code> did not take an
- argument; it was turned on by the presence of the directive by
- itself.</p>
-<hr/><h2><a name="ForceLanguagePriority">ForceLanguagePriority</a> <a name="forcelanguagepriority">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Action to take if a single acceptable document is not
-found</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ForceLanguagePriority None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_negotiation</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later</td></tr></table></td></tr></table>
- <p>The <code class="directive">ForceLanguagePriority</code> directive uses
- the given <a href="#languagepriority" class="directive"><code class="directive">LanguagePriority</code></a> to satisfy
- negotation where the server could otherwise not return a single
- matching document.</p>
-
- <p><code>ForceLanguagePriority Prefer</code> uses
- <code>LanguagePriority</code> to serve a one valid result, rather
- than returning an HTTP result 300 (MULTIPLE CHOICES) when there
- are several equally valid choices. If the directives below were
- given, and the user's Accept-Language header assigned en and de
- each as quality .500 (equally acceptable) then then first matching
- variant, en, will be served.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LanguagePriority en fr de<br>
- ForceLanguagePriority Prefer
-</code></td></tr></table></blockquote>
-
- <p><code>ForceLanguagePriority Fallback</code> uses
- <code>LanguagePriority</code> to serve a valid result, rather than
- returning an HTTP result 406 (NOT ACCEPTABLE). If the directives
- below were given, and the user's Accept-Language only permitted an
- es language response, but such a variant isn't found, then the
- first variant from the LanguagePriority list below will be
- served.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LanguagePriority en fr de<br>
- ForceLanguagePriority Fallback
-</code></td></tr></table></blockquote>
-
- <p>Both options, Prefer and Fallback, may be specified, so either the
- first matching variant from LanguagePriority will be served if more
- that one variant is acceptable, or first available document will be
- served if none of the variants matched the client's acceptable list of
- languages.</p>
-<hr/><h2><a name="LanguagePriority">LanguagePriority</a> <a name="languagepriority">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The precendence of language variants for cases where
-the client does not express a preference</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LanguagePriority <em>MIME-lang</em> [<em>MIME-lang</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_negotiation</td></tr></table></td></tr></table>
- <p>The <code class="directive">LanguagePriority</code> sets the precedence
- of language variants for the case where the client does not
- express a preference, when handling a MultiViews request. The list
- of <em>MIME-lang</em> are in order of decreasing preference.
- Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>LanguagePriority en fr de</code></td></tr></table></blockquote>
-
- <p>For a request for <code>foo.html</code>, where
- <code>foo.html.fr</code> and <code>foo.html.de</code> both
- existed, but the browser did not express a language preference,
- then <code>foo.html.fr</code> would be returned.</p>
-
- <p>Note that this directive only has an effect if a 'best'
- language cannot be determined by any other means or the <a href="#forcelanguagepriority" class="directive"><code class="directive">ForceLanguagePriority</code></a> directive
- is not <code>None</code>. Correctly implemented HTTP/1.1 requests
- will mean this directive has no effect.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_proxy- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_proxy</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>HTTP/1.1 proxy/gateway server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>proxy_module</td></tr></table></td></tr></table><h2>Summary</h2>
-<blockquote><table><tr><td bgcolor="#ffe5f5"><p align="center"><strong>Warning</strong></p>
-This document has been updated to take into account changes
-made in the 2.0 version of the Apache HTTP Server. Some of the
-information may still be inaccurate, please use it
-with care.
-</td></tr></table></blockquote>
-
-<p>This module implements a proxy/gateway for Apache. It implements
-proxying capability for
-<code>FTP</code>,
-<code>CONNECT</code> (for SSL),
-<code>HTTP/0.9</code>,
-<code>HTTP/1.0</code>, and
-<code>HTTP/1.1</code>.
-The module can be configured to connect to other proxy modules for these
-and other protocols.</p>
-
-<p>This module was experimental in Apache 1.1.x. Improvements and bugfixes
-were made in Apache v1.2.x and Apache v1.3.x, then the module underwent a major
-overhaul for Apache v2.0. The protocol support was upgraded to HTTP/1.1,
-and filter support was enabled.</p>
-
-<p>Please note that the <strong>caching</strong> function present in
-mod_proxy up to Apache v1.3.x has been <strong>removed</strong> from
-mod_proxy and will be incorporated into a new module, mod_cache.</p>
-
-<blockquote><table><tr><td bgcolor="#ffe5f5"><p>Do not enable proxying with <a href="#proxyrequests" class="directive"><code class="directive">ProxyRequests</code></a> until you have
-<a href="#access">secured your server</a>. Open proxy servers are
-dangerous both to your network and to the Internet at large.</p></td></tr></table></blockquote>
-
-
-<h2>Directives</h2><ul><li><a href="#allowconnect">AllowCONNECT</a></li><li><a href="#noproxy">NoProxy</a></li><li><a href="#proxyblock">ProxyBlock</a></li><li><a href="#proxydomain">ProxyDomain</a></li><li><a href="#proxyerroroverride">ProxyErrorOverride</a></li><li><a href="#proxymaxforwards">ProxyMaxForwards</a></li><li><a href="#proxypass">ProxyPass</a></li><li><a href="#proxypassreverse">ProxyPassReverse</a></li><li><a href="#proxypreservehost">ProxyPreserveHost</a></li><li><a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li><li><a href="#proxyremote">ProxyRemote</a></li><li><a href="#proxyrequests">ProxyRequests</a></li><li><a href="#proxytimeout">ProxyTimeout</a></li><li><a href="#proxyvia">ProxyVia</a></li></ul><h2><a name="configs">Common configuration topics</a></h2>
-
-<ul>
-<li><a href="#forwardreverse">Forward and Reverse Proxies</a></li>
-<li><a href="#access">Controlling access to your proxy</a></li>
-<li><a href="#shortname">Using Netscape hostname shortcuts</a></li>
-<li><a href="#mimetypes">Why doesn't file type <em>xxx</em> download via FTP?</a></li>
-<li><a href="#type">How can I force an FTP ASCII download of File <em>xxx</em>?</a></li>
-<li><a href="#percent2fhack">How can I access FTP files outside of my home directory?</a></li>
-<li><a href="#ftppass">How can I hide the FTP cleartext password in my browser's URL line?</a></li>
-<li><a href="#startup">Why does Apache start more slowly when using the
- proxy module?</a></li>
-
-<li><a href="#intranet">What other functions are useful for an intranet proxy server?</a></li>
-</ul>
-
-<h3><a name="forwardreverse">Forward and Reverse Proxies</a></h3>
-
-<p>Apache can be configured in both a <em>forward</em> and <em>reverse</em>
-proxy configuration.</p>
-
-<p>A <em>forward proxy</em> is an intermediate system that enables a browser to connect to a
-remote network to which it normally does not have access. A forward proxy
-can also be used to cache data, reducing load on the networks between the
-forward proxy and the remote webserver.</p>
-
-<p>Apache's mod_proxy can be figured to behave like a forward proxy
-using the <a href="#proxyremote" class="directive"><code class="directive">ProxyRemote</code></a>
-directive. In addition, caching of data can be achieved by configuring
-Apache <code><a href="mod_cache.html">mod_cache</a></code>. Other dedicated forward proxy
-packages include <a href="http://www.squid.org">Squid</a>.</p>
-
-<p>A <em>reverse proxy</em> is a webserver system that is capable of serving webpages
-sourced from other webservers - in addition to webpages on disk or generated
-dynamically by CGI - making these pages look like they originated at the
-reverse proxy.</p>
-
-<p>When configured with the mod_cache module the reverse
-proxy can act as a cache for slower backend webservers. The reverse proxy
-can also enable advanced URL strategies and management techniques, allowing
-webpages served using different webserver systems or architectures to
-coexist inside the same URL space. Reverse proxy systems are also ideal for
-implementing centralised logging websites with many or diverse website
-backends. Complex multi-tier webserver systems can be constructed using an
-Apache mod_proxy frontend and any number of backend webservers.</p>
-
-<p>The reverse proxy is configured using the
-<a href="#proxypass" class="directive"><code class="directive">ProxyPass</code></a> and <a href="#proxypassreverse" class="directive"><code class="directive">ProxyPassReverse</code></a> directives. Caching can be
-enabled using mod_cache as with the forward proxy.</p>
-
-
-
-<h3><a name="access">Controlling access to your proxy</a></h3>
-
-
-
-<p>You can control who can access your proxy via the normal <a href="core.html#directory" class="directive"><code class="directive"><Directory></code></a>
-control block using the following example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<Directory proxy:*><br>
-Order Deny,Allow<br>
-Deny from all<br>
-Allow from 192.168.0<br>
-</Directory>
-</code></td></tr></table></blockquote>
-
-<p>A <a href="core.html#files" class="directive"><code class="directive"><Files></code></a> block
-will also work, and is the only method known to work for all possible
-URLs in Apache versions earlier than 1.2b10.</p>
-
-<p>When configuring a reverse proxy, access control takes on the
-attributes of the normal server <a href="core.html#directory" class="directive"><code class="directive"><directory></code></a> configuration.</p>
-
-
-
-
-
-
-<h3><a name="mimetypes">Why doesn't file type <em>xxx</em>
-download via FTP?</a></h3>
-
-<p>You probably don't have that particular file type defined as
-<em>application/octet-stream</em> in your proxy's mime.types configuration
-file. A useful line can be</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-application/octet-stream bin dms lha lzh exe class tgz taz
-</code></td></tr></table></blockquote>
-
-
-<h3><a name="type">How can I force an FTP ASCII download of
-File <em>xxx</em>?</a></h3>
-
-<p>In the rare situation where you must download a specific file using the FTP
-<strong>ASCII</strong> transfer method (while the default transfer is in
-<strong>binary</strong> mode), you can override mod_proxy's default by
-suffixing the request with <code>;type=a</code> to force an ASCII transfer.
-(FTP Directory listings are always executed in ASCII mode, however.)</p>
-
-
-<h3><a name="percent2fhck">How can I access FTP files outside
-of my home directory?</a></h3>
-
-<p>
-An FTP URI is interpreted relative to the home directory of the user
-who is logging in. Alas, to reach higher directory levels you cannot
-use /../, as the dots are interpreted by the browser and not actually
-sent to the FTP server. To address this problem, the so called "Squid
-%2f hack" was implemented in the Apache FTP proxy; it is is a solution
-which is also used by other popular proxy servers like the <a href="http://www.squid-cache.org/">Squid Proxy Cache</a>. By
-prepending /%2f to the path of your request, you can make such a proxy
-change the FTP starting directory to / (instead of the home
-directory). </p>
-
-<p><strong>Example:</strong> To retrieve the file
-<code>/etc/motd</code>, you would use the URL</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>ftp://<em>user@host</em>/%2f/etc/motd</code></td></tr></table></blockquote>
-
-
-<h3><a name="ftppass">How can I hide the FTP cleartext password
-in my browser's URL line?</a></h3>
-
-<p>
-To log in to an FTP server by username and password, Apache
-uses different strategies.
-In absense of a user name and password in the URL altogether,
-Apache sends an anomymous login to the FTP server, i.e.,</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-user: anonymous<br>
-password: apache_proxy@
-</code></td></tr></table></blockquote>
-<p>This works for all popular FTP servers which are configured for
-anonymous access.</p>
-
-<p>For a personal login with a specific username, you can embed
-the user name into the URL, like in:
-<code>ftp://<em>username@host</em>/myfile</code>. If the FTP server
-asks for a password when given this username (which it should),
-then Apache will reply with a [401 Authorization required] response,
-which causes the Browser to pop up the username/password dialog.
-Upon entering the password, the connection attempt is retried,
-and if successful, the requested resource is presented.
-The advantage of this procedure is that your browser does not
-display the password in cleartext (which it would if you had used
-<code>ftp://<em>username:password@host</em>/myfile</code> in
-the first place).</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
-The password which is transmitted in such a way
-is not encrypted on its way. It travels between your browser and
-the Apache proxy server in a base64-encoded cleartext string, and
-between the Apache proxy and the FTP server as plaintext. You should
-therefore think twice before accessing your FTP server via HTTP
-(or before accessing your personal files via FTP at all!) When
-using unsecure channels, an eavesdropper might intercept your
-password on its way.
-</td></tr></table></blockquote>
-
-
-<h3><a name="startup">Why does Apache start more slowly when
-using the proxy module?</a></h3>
-
-<p>If you're using the <a href="#proxyblock" class="directive"><code class="directive">ProxyBlock</code></a>
-directive, hostnames' IP addresses are looked up and cached during
-startup for later match test. This may take a few seconds (or more)
-depending on the speed with which the hostname lookups occur.</p>
-
-
-
-
-<h3><a name="intranet">What other functions are useful for an
-intranet proxy server?</a></h3>
-
-<p>An Apache proxy server situated in an intranet needs to forward
-external requests through the company's firewall. However, when it has
-to access resources within the intranet, it can bypass the firewall
-when accessing hosts. The <a href="#noproxy" class="directive"><code class="directive">NoProxy</code></a> directive is useful for
-specifying which hosts belong to the intranet and should be accessed
-directly.</p>
-
-<p>Users within an intranet tend to omit the local domain name from their
-WWW requests, thus requesting "http://somehost/" instead of
-"http://somehost.my.dom.ain/". Some commercial proxy servers let them get
-away with this and simply serve the request, implying a configured
-local domain. When the <a href="#proxydomain" class="directive"><code class="directive">ProxyDomain</code></a> directive
-is used and the server is <a href="#proxyrequests">configured for
-proxy service</a>, Apache can return a redirect response and send the client
-to the correct, fully qualified, server address. This is the preferred method
-since the user's bookmark files will then contain fully qualified hosts.</p>
-
-
-<hr/><h2><a name="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AllowCONNECT <em>port</em> [<em>port</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AllowCONNECT 443 563</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>The <code class="directive">AllowCONNECT</code> directive specifies a list
-of port numbers to which the proxy <code>CONNECT</code> method may
-connect. Today's browsers use this method when a <em>https</em>
-connection is requested and proxy tunneling over <em>http</em> is in
-effect.<br> By default, only the default https port (443) and the
-default snews port (563) are enabled. Use the
-<code class="directive">AllowCONNECT</code> directive to overrride this default and
-allow connections to the listed ports only.</p>
-<hr/><h2><a name="NoProxy">NoProxy</a> <a name="noproxy">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>NoProxy
- <em>Domain</em>|
- <em>SubNet</em>|
- <em>IpAddr</em>|
- <em>Hostname</em>
-[<em>Domain</em>|
- <em>SubNet</em>|
- <em>IpAddr</em>|
- <em>Hostname</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>This directive is only useful for Apache proxy servers within
-intranets. The <code class="directive">NoProxy</code> directive specifies a
-list of subnets, IP addresses, hosts and/or domains, separated by
-spaces. A request to a host which matches one or more of these is
-always served directly, without forwarding to the configured
-<a href="#proxyremote" class="directive"><code class="directive">ProxyRemote</code></a> proxy server(s).</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- ProxyRemote * http://firewall.mycompany.com:81<br>
- NoProxy .mycompany.com 192.168.112.0/21
-</code></td></tr></table></blockquote>
-
-<p>The arguments to the NoProxy directive are one of the following type list:</p>
- <dl>
-
- <dt><a name="domain">
- <em>Domain</em></a></dt>
- <dd>A <em>Domain</em> is a partially qualified DNS domain name, preceded
- by a period.
- It represents a list of hosts which logically belong to the same DNS
- domain or zone (<em>i.e.</em>, the suffixes of the hostnames are all ending in
- <em>Domain</em>).<br>
- Examples: <code>.com</code> <code>.apache.org.</code><br>
- To distinguish <em>Domain</em>s from <a href="#hostname"><em>Hostname</em></a>s (both
- syntactically and semantically; a DNS domain can have a DNS A record,
- too!), <em>Domain</em>s are always written
- with a leading period.<br>
- Note: Domain name comparisons are done without regard to the case,
- and <em>Domain</em>s are always assumed to be anchored in the root
- of the DNS tree, therefore two domains <code>.MyDomain.com</code> and
- <code>.mydomain.com.</code> (note the trailing period) are
- considered equal. Since a domain comparison does not involve a DNS
- lookup, it is much more efficient than subnet comparison.</dd>
-
-
- <dt><a name="subnet">
- <em>SubNet</em></a></dt>
- <dd>A <em>SubNet</em> is a partially qualified internet address in
- numeric (dotted quad) form, optionally followed by a slash and the
- netmask, specified as the number of significant bits in the
- <em>SubNet</em>. It is used to represent a subnet of hosts which can
- be reached over a common network interface. In the absence of the
- explicit net mask it is assumed that omitted (or zero valued)
- trailing digits specify the mask. (In this case, the netmask can
- only be multiples of 8 bits wide.)<br>
- Examples:
- <dl>
- <dt><code>192.168</code> or <code>192.168.0.0</code></dt>
- <dd>the subnet 192.168.0.0 with an implied netmask of 16 valid bits
- (sometimes used in the netmask form <code>255.255.0.0</code>)</dd>
- <dt><code>192.168.112.0/21</code></dt>
- <dd>the subnet <code>192.168.112.0/21</code> with a netmask of 21
- valid bits (also used in the form 255.255.248.0)</dd>
- </dl>
- As a degenerate case, a <em>SubNet</em> with 32 valid bits is the
- equivalent to an <em>IPAddr</em>, while a <em>SubNet</em> with zero
- valid bits (<em>e.g.</em>, 0.0.0.0/0) is the same as the constant
- <em>_Default_</em>, matching any IP address. </dd>
-
-
- <dt><a name="ipaddr">
- <em>IPAddr</em></a></dt>
- <dd>A <em>IPAddr</em> represents a fully qualified internet address in
- numeric (dotted quad) form. Usually, this address represents a
- host, but there need not necessarily be a DNS domain name
- connected with the address.<br>
- Example: 192.168.123.7<br>
- Note: An <em>IPAddr</em> does not need to be resolved by the DNS
- system, so it can result in more effective apache performance.</dd>
-
-
- <dt><a name="hostname">
- <em>Hostname</em></a></dt>
- <dd>A <em>Hostname</em> is a fully qualified DNS domain name which can
- be resolved to one or more <a href="#ipaddr"><em>IPAddrs</em></a> via the DNS domain name service.
- It represents a logical host (in contrast to
- <a href="#domain"><em>Domain</em></a>s, see
- above) and must be resolvable to at least one <a href="#ipaddr"><em>IPAddr</em></a> (or often to a list of hosts
- with different <a href="#ipaddr"><em>IPAddr</em></a>'s).<br>
- Examples: <code>prep.ai.mit.edu</code>
- <code>www.apache.org.</code><br>
- Note: In many situations, it is more effective to specify an
- <a href="#ipaddr"><em>IPAddr</em></a> in place of a
- <em>Hostname</em> since a DNS lookup
- can be avoided. Name resolution in Apache can take a remarkable deal
- of time when the connection to the name server uses a slow PPP
- link.<br>
- Note: <em>Hostname</em> comparisons are done without regard to the case,
- and <em>Hostname</em>s are always assumed to be anchored in the root
- of the DNS tree, therefore two hosts <code>WWW.MyDomain.com</code>
- and <code>www.mydomain.com.</code> (note the trailing period) are
- considered equal.</dd>
-</dl>
-<p><strong>See also </strong></p><ul><li><a href="../dns-caveats.html">DNS Issues</a></li></ul><hr/><h2><a name="ProxyBlock">ProxyBlock</a> <a name="proxyblock">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyBlock *|<em>word|host|domain</em>
-[<em>word|host|domain</em>] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>The <code class="directive">ProxyBlock</code> directive specifies a list of
-words, hosts and/or domains, separated by spaces. HTTP, HTTPS, and
-FTP document requests to sites whose names contain matched words,
-hosts or domains are <em>blocked</em> by the proxy server. The proxy
-module will also attempt to determine IP addresses of list items which
-may be hostnames during startup, and cache them for match test as
-well. Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
-</code></td></tr></table></blockquote>
-
-<p>'rocky.wotsamattau.edu' would also be matched if referenced by IP
-address.</p>
-
-<p>Note that 'wotsamattau' would also be sufficient to match
-'wotsamattau.edu'.</p>
-
-<p>Note also that</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-ProxyBlock *
-</code></td></tr></table></blockquote>
-
-<p>blocks connections to all sites.</p>
-
-<hr/><h2><a name="ProxyDomain">ProxyDomain</a> <a name="proxydomain">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyDomain <em>Domain</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>This directive is only useful for Apache proxy servers within
-intranets. The <code class="directive">ProxyDomain</code> directive specifies
-the default domain which the apache proxy server will belong to. If a
-request to a host without a domain name is encountered, a redirection
-response to the same host with the configured <em>Domain</em> appended
-will be generated.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- ProxyRemote * http://firewall.mycompany.com:81<br>
- NoProxy .mycompany.com 192.168.112.0/21<br>
- ProxyDomain .mycompany.com
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="ProxyErrorOverride">ProxyErrorOverride</a> <a name="proxyerroroverride">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyErrorOverride On|Off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyErrorOverride Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0 and later</td></tr></table></td></tr></table>
-<p>This directive is useful for reverse-proxy setups, where you want to
-have a common look and feel on the error pages seen by the end user.
-This also allows for included files (via mod_include's SSI) to get
-the error code and act accordingly (default behavior would display
-the error page of the proxied server, turning this on shows the SSI
-Error message).</p>
-<hr/><h2><a name="ProxyMaxForwards">ProxyMaxForwards</a> <a name="proxymaxforwards">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyMaxForwards <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyMaxForwards 10</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in Apache 2.0 and later</td></tr></table></td></tr></table>
-<p>The <code class="directive">ProxyMaxForwards</code> directive specifies the
-maximum number of proxies through which a request may pass. This is
-set to prevent infinite proxy loops, or a DoS attack.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- ProxyMaxForwards 10
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="ProxyPass">ProxyPass</a> <a name="proxypass">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyPass [<em>path</em>] !|<em>url</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-
-<p>This directive allows remote servers to be mapped into the space of
-the local server; the local server does not act as a proxy in the
-conventional sense, but appears to be a mirror of the remote
-server. <em>path</em> is the name of a local virtual path;
-<em>url</em> is a partial URL for the remote server.</p>
-
-<p>Suppose the local server has address <code>http://wibble.org/</code>;
-then</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ProxyPass /mirror/foo/ http://foo.com/
-</code></td></tr></table></blockquote>
-<p>will cause a local request for the
-<<code>http://wibble.org/mirror/foo/bar</code>> to be
-internally converted into a proxy request to
-<<code>http://foo.com/bar</code>>.</p>
-<p>
-The ! directive is useful in situations where you don't want to reverse-proxy
-a subdirectory. eg.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ProxyPass /mirror/foo/i !<br>
- ProxyPass /mirror/foo http://foo.com
-</code></td></tr></table></blockquote>
-<p>will proxy all requests to /mirror/foo to foo.com EXCEPT requests made to /mirror/foo/i</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">NB: order is important. you need to put the exclusions BEFORE the general proxypass directive</td></tr></table></blockquote>
-<hr/><h2><a name="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyPassReverse [<em>path</em>] <em>url</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-
-<p>This directive lets Apache adjust the URL in the <code>Location</code>,
-<code>Content-Location</code> and <code>URI</code> headers on
-HTTP redirect responses. This is essential when Apache is used as
-a reverse proxy to avoid by-passing the reverse proxy because of HTTP
-redirects on the backend servers which stay behind the reverse proxy.</p>
-
-<p><em>path</em> is the name of a local virtual path.<br>
-<em>url</em> is a partial URL for the remote server - the same way they are
-used for the <a href="#proxypass" class="directive"><code class="directive">ProxyPass</code></a> directive.</p>
-
-<p>
-Example:<br>
-Suppose the local server has address <code>http://wibble.org/</code>; then</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ProxyPass /mirror/foo/ http://foo.com/<br>
- ProxyPassReverse /mirror/foo/ http://foo.com/
-</code></td></tr></table></blockquote>
-<p>will not only cause a local request for the
-<<code>http://wibble.org/mirror/foo/bar</code>> to be internally
-converted into a proxy request to <<code>http://foo.com/bar</code>> (the
-functionality <code>ProxyPass</code> provides here). It also takes care of
-redirects the server foo.com sends: when <code>http://foo.com/bar</code> is
-redirected by him to <code>http://foo.com/quux</code> Apache adjusts this to
-<code>http://wibble.org/mirror/foo/quux</code> before forwarding the HTTP
-redirect response to the client. </p>
-<p>
-Note that this <code class="directive">ProxyPassReverse</code> directive can
-also be used in conjunction with the proxy pass-through feature
-("<code>RewriteRule ... [P]</code>") from
-<code><a href="mod_rewrite.html">mod_rewrite</a></code> because its doesn't depend on a
-corresponding <a href="#proxypass" class="directive"><code class="directive">ProxyPass</code></a>
-directive.</p>
-<hr/><h2><a name="ProxyPreserveHost">ProxyPreserveHost</a> <a name="proxypreservehost">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyPreserveHost on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyPreserveHost Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in
-Apache 2.0.31 and later.</td></tr></table></td></tr></table>
-<p>When enabled, this option will pass the Host: line from the
-incoming request to the proxied host, instead of the hostname
-specified in the proxypass line.
-</p>
-<p>This option should normally be turned 'off'.</p>
-<hr/><h2><a name="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a> <a name="proxyreceivebuffersize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyReceiveBufferSize <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>The <code class="directive">ProxyReceiveBufferSize</code> directive
-specifies an explicit network buffer size for outgoing HTTP and FTP
-connections, for increased throughput. It has to be greater than 512
-or set to 0 to indicate that the system's default buffer size should
-be used.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
- ProxyReceiveBufferSize 2048
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="ProxyRemote">ProxyRemote</a> <a name="proxyremote">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyRemote <em>match remote-server</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>This defines remote proxies to this proxy. <em>match</em> is either the
-name of a URL-scheme that the remote server supports, or a partial URL
-for which the remote server should be used, or '*' to indicate the
-server should be contacted for all requests. <em>remote-server</em> is a
-partial URL for the remote server. Syntax:</p>
-
-<pre>
- remote-server = protocol://hostname[:port]
-</pre>
-
-<p><em>protocol</em> is the protocol that should be used to communicate
-with the remote server; only "http" is supported by this module.</p>
-
-<p>
-Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000<br>
- ProxyRemote * http://cleversite.com<br>
- ProxyRemote ftp http://ftpproxy.mydomain.com:8080
-</code></td></tr></table></blockquote>
-
-<p>In the last example, the proxy will forward FTP requests, encapsulated
-as yet another HTTP proxy request, to another proxy which can handle
-them.</p>
-
-<p>This option also supports reverse proxy configuration - a backend
-webserver can be embedded within a virtualhost URL space even if that
-server is hidden by another forward proxy.</p>
-<hr/><h2><a name="ProxyRequests">ProxyRequests</a> <a name="proxyrequests">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyRequests on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyRequests Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>This allows or prevents Apache from functioning as a forward proxy
-server. (Setting ProxyRequests to 'off' does not disable use of the
-<a href="#proxypass" class="directive"><code class="directive">ProxyPass</code></a> directive.)</p>
-
-<p>In a typical reverse proxy configuration, this option should be set to
-'off'.</p>
-
-<blockquote><table><tr><td bgcolor="#ffe5f5"><p>Do not enable proxying with <a href="#proxyrequests" class="directive"><code class="directive">ProxyRequests</code></a> until you have
-<a href="#access">secured your server</a>. Open proxy servers are
-dangerous both to your network and to the Internet at large.</p></td></tr></table></blockquote>
-
-<hr/><h2><a name="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyTimeout <em>seconds</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyTimeout 300</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in
-Apache 2.0.31 and later</td></tr></table></td></tr></table>
-<p>This directive allows a user to specifiy a timeout on proxy requests.
-This is usefull when you have a slow/buggy appserver which hangs,
-and you would rather just return a timeout and fail gracefully instead
-of waiting however long it takes the server to return
-</p>
-<hr/><h2><a name="ProxyVia">ProxyVia</a> <a name="proxyvia">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ProxyVia on|off|full|block</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyVia off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr></table></td></tr></table>
-<p>This directive controls the use of the <code>Via:</code> HTTP
-header by the proxy. Its intended use is to control the flow of of
-proxy requests along a chain of proxy servers. See RFC2068 (HTTP/1.1)
-for an explanation of <code>Via:</code> header lines.</p>
-
-<ul> <li>If set
-to <em>off</em>, which is the default, no special processing is
-performed. If a request or reply contains a <code>Via:</code> header,
-it is passed through unchanged.</li>
-
-<li>If set to <em>on</em>, each
-request and reply will get a <code>Via:</code> header line added for
-the current host.</li>
-
-<li>If set to <em>full</em>, each generated <code>Via:</code> header
-line will additionally have the Apache server version shown as a
-<code>Via:</code> comment field.</li>
-
-<li>If set to <em>block</em>, every
-proxy request will have all its <code>Via:</code> header lines
-removed. No new <code>Via:</code> header will be generated.</li>
-</ul>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_rewrite- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_rewrite</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides a rule-based rewriting engine to rewrite requested
-URLs on the fly</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>rewrite_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 1.3 and later</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <blockquote>
- <em>``The great thing about mod_rewrite is it gives you
- all the configurability and flexibility of Sendmail.
- The downside to mod_rewrite is that it gives you all
- the configurability and flexibility of Sendmail.''</em><br>
-
- -- Brian Behlendorf<br>
- Apache Group
-
- </blockquote>
-
- <blockquote>
- <em>`` Despite the tons of examples and docs,
- mod_rewrite is voodoo. Damned cool voodoo, but still
- voodoo. ''</em> <br>
-
- -- Brian Moore<br>
- bem@news.cmc.net
-
- </blockquote>
-
-
- <p>Welcome to mod_rewrite, the Swiss Army Knife of URL
- manipulation!</p>
-
- <p>This module uses a rule-based rewriting engine (based on a
- regular-expression parser) to rewrite requested URLs on the
- fly. It supports an unlimited number of rules and an
- unlimited number of attached rule conditions for each rule to
- provide a really flexible and powerful URL manipulation
- mechanism. The URL manipulations can depend on various tests,
- for instance server variables, environment variables, HTTP
- headers, time stamps and even external database lookups in
- various formats can be used to achieve a really granular URL
- matching.</p>
-
- <p>This module operates on the full URLs (including the
- path-info part) both in per-server context
- (<code>httpd.conf</code>) and per-directory context
- (<code>.htaccess</code>) and can even generate query-string
- parts on result. The rewritten result can lead to internal
- sub-processing, external request redirection or even to an
- internal proxy throughput.</p>
-
- <p>But all this functionality and flexibility has its
- drawback: complexity. So don't expect to understand this
- entire module in just one day.</p>
-
- <p>This module was invented and originally written in April
- 1996 and gifted exclusively to the The Apache Group in July 1997
- by</p>
-
- <blockquote>
- <a href="http://www.engelschall.com/"><code>Ralf S.
- Engelschall</code></a><br>
- <a href="mailto:rse@engelschall.com"><code>rse@engelschall.com</code></a><br>
- <a href="http://www.engelschall.com/"><code>www.engelschall.com</code></a>
- </blockquote>
-<h2>Directives</h2><ul><li><a href="#rewritebase">RewriteBase</a></li><li><a href="#rewritecond">RewriteCond</a></li><li><a href="#rewriteengine">RewriteEngine</a></li><li><a href="#rewritelock">RewriteLock</a></li><li><a href="#rewritelog">RewriteLog</a></li><li><a href="#rewriteloglevel">RewriteLogLevel</a></li><li><a href="#rewritemap">RewriteMap</a></li><li><a href="#rewriteoptions">RewriteOptions</a></li><li><a href="#rewriterule">RewriteRule</a></li></ul><h2><a name="Internal">Interal Processing</a></h2>
-
- <p>The internal processing of this module is very complex but
- needs to be explained once even to the average user to avoid
- common mistakes and to let you exploit its full
- functionality.</p>
-
-<h3><a name="InternalAPI">API Phases</a></h3>
-
- <p>First you have to understand that when Apache processes a
- HTTP request it does this in phases. A hook for each of these
- phases is provided by the Apache API. Mod_rewrite uses two of
- these hooks: the URL-to-filename translation hook which is
- used after the HTTP request has been read but before any
- authorization starts and the Fixup hook which is triggered
- after the authorization phases and after the per-directory
- config files (<code>.htaccess</code>) have been read, but
- before the content handler is activated.</p>
-
- <p>So, after a request comes in and Apache has determined the
- corresponding server (or virtual server) the rewriting engine
- starts processing of all mod_rewrite directives from the
- per-server configuration in the URL-to-filename phase. A few
- steps later when the final data directories are found, the
- per-directory configuration directives of mod_rewrite are
- triggered in the Fixup phase. In both situations mod_rewrite
- rewrites URLs either to new URLs or to filenames, although
- there is no obvious distinction between them. This is a usage
- of the API which was not intended to be this way when the API
- was designed, but as of Apache 1.x this is the only way
- mod_rewrite can operate. To make this point more clear
- remember the following two points:</p>
-
- <ol>
- <li>Although mod_rewrite rewrites URLs to URLs, URLs to
- filenames and even filenames to filenames, the API
- currently provides only a URL-to-filename hook. In Apache
- 2.0 the two missing hooks will be added to make the
- processing more clear. But this point has no drawbacks for
- the user, it is just a fact which should be remembered:
- Apache does more in the URL-to-filename hook than the API
- intends for it.</li>
-
- <li>
- Unbelievably mod_rewrite provides URL manipulations in
- per-directory context, <em>i.e.</em>, within
- <code>.htaccess</code> files, although these are reached
- a very long time after the URLs have been translated to
- filenames. It has to be this way because
- <code>.htaccess</code> files live in the filesystem, so
- processing has already reached this stage. In other
- words: According to the API phases at this time it is too
- late for any URL manipulations. To overcome this chicken
- and egg problem mod_rewrite uses a trick: When you
- manipulate a URL/filename in per-directory context
- mod_rewrite first rewrites the filename back to its
- corresponding URL (which is usually impossible, but see
- the <code>RewriteBase</code> directive below for the
- trick to achieve this) and then initiates a new internal
- sub-request with the new URL. This restarts processing of
- the API phases.
-
- <p>Again mod_rewrite tries hard to make this complicated
- step totally transparent to the user, but you should
- remember here: While URL manipulations in per-server
- context are really fast and efficient, per-directory
- rewrites are slow and inefficient due to this chicken and
- egg problem. But on the other hand this is the only way
- mod_rewrite can provide (locally restricted) URL
- manipulations to the average user.</p>
- </li>
- </ol>
-
- <p>Don't forget these two points!</p>
-
-
-<h3><a name="InternalRuleset">Ruleset Processing</a></h3>
-
- <p>Now when mod_rewrite is triggered in these two API phases, it
- reads the configured rulesets from its configuration
- structure (which itself was either created on startup for
- per-server context or during the directory walk of the Apache
- kernel for per-directory context). Then the URL rewriting
- engine is started with the contained ruleset (one or more
- rules together with their conditions). The operation of the
- URL rewriting engine itself is exactly the same for both
- configuration contexts. Only the final result processing is
- different. </p>
-
- <p>The order of rules in the ruleset is important because the
- rewriting engine processes them in a special (and not very
- obvious) order. The rule is this: The rewriting engine loops
- through the ruleset rule by rule (<a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a> directives) and
- when a particular rule matches it optionally loops through
- existing corresponding conditions (<code>RewriteCond</code>
- directives). For historical reasons the conditions are given
- first, and so the control flow is a little bit long-winded. See
- Figure 1 for more details.</p>
-<h3/>
- <img src="../images/mod_rewrite_fig1.gif" border="1" width="428" height="385" alt="[Needs graphics capability to display]">
- <p><strong>Figure 1:</strong>The control flow through the rewriting ruleset</p>
-
- <p>As you can see, first the URL is matched against the
- <em>Pattern</em> of each rule. When it fails mod_rewrite
- immediately stops processing this rule and continues with the
- next rule. If the <em>Pattern</em> matches, mod_rewrite looks
- for corresponding rule conditions. If none are present, it
- just substitutes the URL with a new value which is
- constructed from the string <em>Substitution</em> and goes on
- with its rule-looping. But if conditions exist, it starts an
- inner loop for processing them in the order that they are
- listed. For conditions the logic is different: we don't match
- a pattern against the current URL. Instead we first create a
- string <em>TestString</em> by expanding variables,
- back-references, map lookups, <em>etc.</em> and then we try
- to match <em>CondPattern</em> against it. If the pattern
- doesn't match, the complete set of conditions and the
- corresponding rule fails. If the pattern matches, then the
- next condition is processed until no more conditions are
- available. If all conditions match, processing is continued
- with the substitution of the URL with
- <em>Substitution</em>.</p>
-
-
-
-<h3><a name="quoting">Quoting Special Characters</a></h3>
-
- <p>As of Apache 1.3.20, special characters in
- <em>TestString</em> and <em>Substitution</em> strings can be
- escaped (that is, treated as normal characters without their
- usual special meaning) by prefixing them with a slosh ('\')
- character. In other words, you can include an actual
- dollar-sign character in a <em>Substitution</em> string by
- using '<code>\$</code>'; this keeps mod_rewrite from trying
- to treat it as a backreference.</p>
-
-
-<h3><a name="InternalBackRefs">Regex Back-Reference Availability</a></h3>
-
- <p>One important thing here has to be remembered: Whenever you
- use parentheses in <em>Pattern</em> or in one of the
- <em>CondPattern</em>, back-references are internally created
- which can be used with the strings <code>$N</code> and
- <code>%N</code> (see below). These are available for creating
- the strings <em>Substitution</em> and <em>TestString</em>.
- Figure 2 shows to which locations the back-references are
- transfered for expansion.</p>
-
-<h3/>
- <img src="../images/mod_rewrite_fig2.gif" border="1" width="381" height="179" alt="[Needs graphics capability to display]">
- <p><strong>Figure 2:</strong> The back-reference flow through a rule.</p>
-
- <p>We know this was a crash course on mod_rewrite's internal
- processing. But you will benefit from this knowledge when
- reading the following documentation of the available
- directives.</p>
-
-
-<h2><a name="EnvVar">Environment Variables</a></h2>
-
- <p>This module keeps track of two additional (non-standard)
- CGI/SSI environment variables named <code>SCRIPT_URL</code>
- and <code>SCRIPT_URI</code>. These contain the
- <em>logical</em> Web-view to the current resource, while the
- standard CGI/SSI variables <code>SCRIPT_NAME</code> and
- <code>SCRIPT_FILENAME</code> contain the <em>physical</em>
- System-view. </p>
-
- <p>Notice: These variables hold the URI/URL <em>as they were
- initially requested</em>, <em>i.e.</em>, <em>before</em> any
- rewriting. This is important because the rewriting process is
- primarily used to rewrite logical URLs to physical
- pathnames.</p>
-
- <p><strong>Example:</strong></p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
-SCRIPT_FILENAME=/u/rse/.www/index.html
-SCRIPT_URL=/u/rse/
-SCRIPT_URI=http://en1.engelschall.com/u/rse/
-</pre>
-</code></td></tr></table></blockquote>
-
-<h2><a name="Solutions">Practical Solutions</a></h2>
-
- <p>We also have an <a href="../misc/rewriteguide.html">URL
- Rewriting Guide</a> available, which provides a collection of
- practical solutions for URL-based problems. There you can
- find real-life rulesets and additional information about
- mod_rewrite.</p>
-<hr/><h2><a name="RewriteBase">RewriteBase</a> <a name="rewritebase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the base URL for per-directory rewrites</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteBase <em>URL-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>See usage for information.</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteBase</code> directive explicitly
- sets the base URL for per-directory rewrites. As you will see
- below, <a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a>
- can be used in per-directory config files
- (<code>.htaccess</code>). There it will act locally,
- <em>i.e.</em>, the local directory prefix is stripped at this
- stage of processing and your rewriting rules act only on the
- remainder. At the end it is automatically added back to the
- path. The default setting is; <code class="directive">RewriteBase</code> <em>physical-directory-path</em></p>
-
- <p>When a substitution occurs for a new URL, this module has
- to re-inject the URL into the server processing. To be able
- to do this it needs to know what the corresponding URL-prefix
- or URL-base is. By default this prefix is the corresponding
- filepath itself. <strong>But at most websites URLs are NOT
- directly related to physical filename paths, so this
- assumption will usually be wrong!</strong> There you have to
- use the <code>RewriteBase</code> directive to specify the
- correct URL-prefix.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"> If your webserver's URLs are <strong>not</strong> directly
-related to physical file paths, you have to use
-<code class="directive">RewriteBase</code> in every <code>.htaccess</code>
-files where you want to use <a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a> directives.
-</td></tr></table></blockquote>
-
- <p> For example, assume the following per-directory config file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-#
-# /abc/def/.htaccess -- per-dir config file for directory /abc/def
-# Remember: /abc/def is the physical path of /xyz, <em>i.e.</em>, the server
-# has a 'Alias /xyz /abc/def' directive <em>e.g.</em>
-#
-
-RewriteEngine On
-
-# let the server know that we were reached via /xyz and not
-# via the physical path prefix /abc/def
-RewriteBase /xyz
-
-# now the rewriting rules
-RewriteRule ^oldstuff\.html$ newstuff.html
-</pre>
-</code></td></tr></table></blockquote>
-
- <p>In the above example, a request to
- <code>/xyz/oldstuff.html</code> gets correctly rewritten to
- the physical file <code>/abc/def/newstuff.html</code>.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>For Apache Hackers</strong></p>
-<p>The following list gives detailed information about
- the internal processing steps:</p>
-<pre>
-Request:
- /xyz/oldstuff.html
-
-Internal Processing:
- /xyz/oldstuff.html -> /abc/def/oldstuff.html (per-server Alias)
- /abc/def/oldstuff.html -> /abc/def/newstuff.html (per-dir RewriteRule)
- /abc/def/newstuff.html -> /xyz/newstuff.html (per-dir RewriteBase)
- /xyz/newstuff.html -> /abc/def/newstuff.html (per-server Alias)
-
-Result:
- /abc/def/newstuff.html
-</pre>
- <p>This seems very complicated but is
- the correct Apache internal processing, because the
- per-directory rewriting comes too late in the
- process. So, when it occurs the (rewritten) request
- has to be re-injected into the Apache kernel! BUT:
- While this seems like a serious overhead, it really
- isn't, because this re-injection happens fully
- internally to the Apache server and the same
- procedure is used by many other operations inside
- Apache. So, you can be sure the design and
- implementation is correct.</p>
-</td></tr></table></blockquote>
-
-<hr/><h2><a name="RewriteCond">RewriteCond</a> <a name="rewritecond">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Defines a condition under which rewriting will take place
-</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td> RewriteCond
- <em>TestString</em> <em>CondPattern</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteCond</code> directive defines a
- rule condition. Precede a <a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a> directive with one
- or more <code class="directive">RewriteCond</code> directives. The following
- rewriting rule is only used if its pattern matches the current
- state of the URI <strong>and</strong> if these additional
- conditions apply too.</p>
-
- <p><em>TestString</em> is a string which can contains the
- following expanded constructs in addition to plain text:</p>
-
- <ul>
- <li>
- <strong>RewriteRule backreferences</strong>: These are
- backreferences of the form
-
- <blockquote>
- <strong><code>$N</code></strong>
- </blockquote>
- (0 <= N <= 9) which provide access to the grouped
- parts (parenthesis!) of the pattern from the
- corresponding <code>RewriteRule</code> directive (the one
- following the current bunch of <code>RewriteCond</code>
- directives).
- </li>
-
- <li>
- <strong>RewriteCond backreferences</strong>: These are
- backreferences of the form
-
- <blockquote>
- <strong><code>%N</code></strong>
- </blockquote>
- (1 <= N <= 9) which provide access to the grouped
- parts (parentheses!) of the pattern from the last matched
- <code>RewriteCond</code> directive in the current bunch
- of conditions.
- </li>
-
- <li>
- <strong>RewriteMap expansions</strong>: These are
- expansions of the form
-
- <blockquote>
- <strong><code>${mapname:key|default}</code></strong>
- </blockquote>
- See <a href="#mapfunc">the documentation for
- RewriteMap</a> for more details.
- </li>
-
- <li>
- <strong>Server-Variables</strong>: These are variables of
- the form
-
- <blockquote>
- <strong><code>%{</code> <em>NAME_OF_VARIABLE</em>
- <code>}</code></strong>
- </blockquote>
- where <em>NAME_OF_VARIABLE</em> can be a string taken
- from the following list:
-
- <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
- <tr>
- <td>
- <strong>HTTP headers:</strong>
-
- <p>HTTP_USER_AGENT<br>
- HTTP_REFERER<br>
- HTTP_COOKIE<br>
- HTTP_FORWARDED<br>
- HTTP_HOST<br>
- HTTP_PROXY_CONNECTION<br>
- HTTP_ACCEPT<br>
- </p>
- </td>
-
- <td>
- <strong>connection & request:</strong>
-
- <p>REMOTE_ADDR<br>
- REMOTE_HOST<br>
- REMOTE_USER<br>
- REMOTE_IDENT<br>
- REQUEST_METHOD<br>
- SCRIPT_FILENAME<br>
- PATH_INFO<br>
- QUERY_STRING<br>
- AUTH_TYPE<br>
- </p>
- </td>
- </tr>
-
- <tr>
- <td>
- <strong>server internals:</strong>
-
- <p>DOCUMENT_ROOT<br>
- SERVER_ADMIN<br>
- SERVER_NAME<br>
- SERVER_ADDR<br>
- SERVER_PORT<br>
- SERVER_PROTOCOL<br>
- SERVER_SOFTWARE<br>
- </p>
- </td>
-
- <td>
- <strong>system stuff:</strong>
-
- <p>TIME_YEAR<br>
- TIME_MON<br>
- TIME_DAY<br>
- TIME_HOUR<br>
- TIME_MIN<br>
- TIME_SEC<br>
- TIME_WDAY<br>
- TIME<br>
- </p>
- </td>
-
- <td>
- <strong>specials:</strong>
-
- <p>API_VERSION<br>
- THE_REQUEST<br>
- REQUEST_URI<br>
- REQUEST_FILENAME<br>
- IS_SUBREQ<br>
- </p>
- </td>
- </tr>
- </table>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- <p>These variables all
- correspond to the similarly named HTTP
- MIME-headers, C variables of the Apache server or
- <code>struct tm</code> fields of the Unix system.
- Most are documented elsewhere in the Manual or in
- the CGI specification. Those that are special to
- mod_rewrite include:</p>
-
- <dl>
- <dt><code>IS_SUBREQ</code></dt>
-
- <dd>Will contain the text "true" if the request
- currently being processed is a sub-request,
- "false" otherwise. Sub-requests may be generated
- by modules that need to resolve additional files
- or URIs in order to complete their tasks.</dd>
-
- <dt><code>API_VERSION</code></dt>
-
- <dd>This is the version of the Apache module API
- (the internal interface between server and
- module) in the current httpd build, as defined in
- include/ap_mmn.h. The module API version
- corresponds to the version of Apache in use (in
- the release version of Apache 1.3.14, for
- instance, it is 19990320:10), but is mainly of
- interest to module authors.</dd>
-
- <dt><code>THE_REQUEST</code></dt>
-
- <dd>The full HTTP request line sent by the
- browser to the server (e.g., "<code>GET
- /index.html HTTP/1.1</code>"). This does not
- include any additional headers sent by the
- browser.</dd>
-
- <dt><code>REQUEST_URI</code></dt>
-
- <dd>The resource requested in the HTTP request
- line. (In the example above, this would be
- "/index.html".)</dd>
-
- <dt><code>REQUEST_FILENAME</code></dt>
-
- <dd>The full local filesystem path to the file or
- script matching the request.</dd>
- </dl>
-</td></tr></table></blockquote>
- </li>
- </ul>
-
- <p>Special Notes:</p>
-
- <ol>
- <li>The variables SCRIPT_FILENAME and REQUEST_FILENAME
- contain the same value, <em>i.e.</em>, the value of the
- <code>filename</code> field of the internal
- <code>request_rec</code> structure of the Apache server.
- The first name is just the commonly known CGI variable name
- while the second is the consistent counterpart to
- REQUEST_URI (which contains the value of the
- <code>uri</code> field of <code>request_rec</code>).</li>
-
- <li>There is the special format:
- <code>%{ENV:variable}</code> where <em>variable</em> can be
- any environment variable. This is looked-up via internal
- Apache structures and (if not found there) via
- <code>getenv()</code> from the Apache server process.</li>
-
- <li>There is the special format:
- <code>%{HTTP:header}</code> where <em>header</em> can be
- any HTTP MIME-header name. This is looked-up from the HTTP
- request. Example: <code>%{HTTP:Proxy-Connection}</code> is
- the value of the HTTP header
- ``<code>Proxy-Connection:</code>''.</li>
-
- <li>There is the special format
- <code>%{LA-U:variable}</code> for look-aheads which perform
- an internal (URL-based) sub-request to determine the final
- value of <em>variable</em>. Use this when you want to use a
- variable for rewriting which is actually set later in an
- API phase and thus is not available at the current stage.
- For instance when you want to rewrite according to the
- <code>REMOTE_USER</code> variable from within the
- per-server context (<code>httpd.conf</code> file) you have
- to use <code>%{LA-U:REMOTE_USER}</code> because this
- variable is set by the authorization phases which come
- <em>after</em> the URL translation phase where mod_rewrite
- operates. On the other hand, because mod_rewrite implements
- its per-directory context (<code>.htaccess</code> file) via
- the Fixup phase of the API and because the authorization
- phases come <em>before</em> this phase, you just can use
- <code>%{REMOTE_USER}</code> there.</li>
-
- <li>There is the special format:
- <code>%{LA-F:variable}</code> which performs an internal
- (filename-based) sub-request to determine the final value
- of <em>variable</em>. Most of the time this is the same as
- LA-U above.</li>
- </ol>
-
- <p><em>CondPattern</em> is the condition pattern,
- <em>i.e.</em>, a regular expression which is applied to the
- current instance of the <em>TestString</em>, <em>i.e.</em>,
- <em>TestString</em> is evaluated and then matched against
- <em>CondPattern</em>.</p>
-
- <p><strong>Remember:</strong> <em>CondPattern</em> is a
- standard <em>Extended Regular Expression</em> with some
- additions:</p>
-
- <ol>
- <li>You can prefix the pattern string with a
- '<code>!</code>' character (exclamation mark) to specify a
- <strong>non</strong>-matching pattern.</li>
-
- <li>
- There are some special variants of <em>CondPatterns</em>.
- Instead of real regular expression strings you can also
- use one of the following:
-
- <ul>
- <li>'<strong><CondPattern</strong>' (is lexically
- lower)<br>
- Treats the <em>CondPattern</em> as a plain string and
- compares it lexically to <em>TestString</em>. True if
- <em>TestString</em> is lexically lower than
- <em>CondPattern</em>.</li>
-
- <li>'<strong>>CondPattern</strong>' (is lexically
- greater)<br>
- Treats the <em>CondPattern</em> as a plain string and
- compares it lexically to <em>TestString</em>. True if
- <em>TestString</em> is lexically greater than
- <em>CondPattern</em>.</li>
-
- <li>'<strong>=CondPattern</strong>' (is lexically
- equal)<br>
- Treats the <em>CondPattern</em> as a plain string and
- compares it lexically to <em>TestString</em>. True if
- <em>TestString</em> is lexically equal to
- <em>CondPattern</em>, i.e the two strings are exactly
- equal (character by character). If <em>CondPattern</em>
- is just <code>""</code> (two quotation marks) this
- compares <em>TestString</em> to the empty string.</li>
-
- <li>'<strong>-d</strong>' (is
- <strong>d</strong>irectory)<br>
- Treats the <em>TestString</em> as a pathname and tests
- if it exists and is a directory.</li>
-
- <li>'<strong>-f</strong>' (is regular
- <strong>f</strong>ile)<br>
- Treats the <em>TestString</em> as a pathname and tests
- if it exists and is a regular file.</li>
-
- <li>'<strong>-s</strong>' (is regular file with
- <strong>s</strong>ize)<br>
- Treats the <em>TestString</em> as a pathname and tests
- if it exists and is a regular file with size greater
- than zero.</li>
-
- <li>'<strong>-l</strong>' (is symbolic
- <strong>l</strong>ink)<br>
- Treats the <em>TestString</em> as a pathname and tests
- if it exists and is a symbolic link.</li>
-
- <li>'<strong>-F</strong>' (is existing file via
- subrequest)<br>
- Checks if <em>TestString</em> is a valid file and
- accessible via all the server's currently-configured
- access controls for that path. This uses an internal
- subrequest to determine the check, so use it with care
- because it decreases your servers performance!</li>
-
- <li>'<strong>-U</strong>' (is existing URL via
- subrequest)<br>
- Checks if <em>TestString</em> is a valid URL and
- accessible via all the server's currently-configured
- access controls for that path. This uses an internal
- subrequest to determine the check, so use it with care
- because it decreases your server's performance!</li>
- </ul>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Notice</strong></p>
- All of these tests can
- also be prefixed by an exclamation mark ('!') to
- negate their meaning.
-</td></tr></table></blockquote>
- </li>
- </ol>
-
- <p>Additionally you can set special flags for
- <em>CondPattern</em> by appending</p>
-
- <blockquote>
- <strong><code>[</code><em>flags</em><code>]</code></strong>
- </blockquote>
-
- <p>as the third argument to the <code>RewriteCond</code>
- directive. <em>Flags</em> is a comma-separated list of the
- following flags:</p>
-
- <ul>
- <li>'<strong><code>nocase|NC</code></strong>'
- (<strong>n</strong>o <strong>c</strong>ase)<br>
- This makes the test case-insensitive, <em>i.e.</em>, there
- is no difference between 'A-Z' and 'a-z' both in the
- expanded <em>TestString</em> and the <em>CondPattern</em>.
- This flag is effective only for comparisons between
- <em>TestString</em> and <em>CondPattern</em>. It has no
- effect on filesystem and subrequest checks.</li>
-
- <li>
- '<strong><code>ornext|OR</code></strong>'
- (<strong>or</strong> next condition)<br>
- Use this to combine rule conditions with a local OR
- instead of the implicit AND. Typical example:
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-RewriteCond %{REMOTE_HOST} ^host1.* [OR]
-RewriteCond %{REMOTE_HOST} ^host2.* [OR]
-RewriteCond %{REMOTE_HOST} ^host3.*
-RewriteRule ...some special stuff for any of these hosts...
-</pre>
-</code></td></tr></table></blockquote>
-
- Without this flag you would have to write the cond/rule
- three times.
- </li>
- </ul>
-
- <p><strong>Example:</strong></p>
-
- <p>To rewrite the Homepage of a site according to the
- ``<code>User-Agent:</code>'' header of the request, you can
- use the following: </p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
-RewriteRule ^/$ /homepage.max.html [L]
-
-RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
-RewriteRule ^/$ /homepage.min.html [L]
-
-RewriteRule ^/$ /homepage.std.html [L]
-</pre>
-</code></td></tr></table></blockquote>
-
- <p>Interpretation: If you use Netscape Navigator as your
- browser (which identifies itself as 'Mozilla'), then you
- get the max homepage, which includes Frames, <em>etc.</em>
- If you use the Lynx browser (which is Terminal-based), then
- you get the min homepage, which contains no images, no
- tables, <em>etc.</em> If you use any other browser you get
- the standard homepage.</p>
-
-<hr/><h2><a name="RewriteEngine">RewriteEngine</a> <a name="rewriteengine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables or disables runtime rewriting engine</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteEngine on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>RewriteEngine off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">RewriteEngine</code> directive enables or
- disables the runtime rewriting engine. If it is set to
- <code>off</code> this module does no runtime processing at
- all. It does not even update the <code>SCRIPT_URx</code>
- environment variables.</p>
-
- <p>Use this directive to disable the module instead of
- commenting out all the <a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a> directives!</p>
-
- <p>Note that, by default, rewrite configurations are not
- inherited. This means that you need to have a
- <code>RewriteEngine on</code> directive for each virtual host
- in which you wish to use it.</p>
-<hr/><h2><a name="RewriteLock">RewriteLock</a> <a name="rewritelock">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of the lock file used for RewriteMap
-synchronization</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteLock <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>This directive sets the filename for a synchronization
- lockfile which mod_rewrite needs to communicate with <a href="#rewritemap" class="directive"><code class="directive">RewriteMap</code></a>
- <em>programs</em>. Set this lockfile to a local path (not on a
- NFS-mounted device) when you want to use a rewriting
- map-program. It is not required for other types of rewriting
- maps.</p>
-<hr/><h2><a name="RewriteLog">RewriteLog</a> <a name="rewritelog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the name of the file used for logging rewrite engine
-processing</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteLog <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteLog</code> directive sets the name
- of the file to which the server logs any rewriting actions it
- performs. If the name does not begin with a slash
- ('<code>/</code>') then it is assumed to be relative to the
- <em>Server Root</em>. The directive should occur only once per
- server config.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"> To disable the logging of
- rewriting actions it is not recommended to set
- <em>Filename</em> to <code>/dev/null</code>, because
- although the rewriting engine does not then output to a
- logfile it still creates the logfile output internally.
- <strong>This will slow down the server with no advantage
- to the administrator!</strong> To disable logging either
- remove or comment out the <code class="directive">RewriteLog</code>
- directive or use <code>RewriteLogLevel 0</code>!
-</td></tr></table></blockquote>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Security</strong></p>
-
-See the <a href="../misc/security_tips.html">Apache Security Tips</a>
-document for details on why your security could be compromised if the
-directory where logfiles are stored is writable by anyone other than
-the user that starts the server.
-</td></tr></table></blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-RewriteLog "/usr/local/var/apache/logs/rewrite.log"
-</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="RewriteLogLevel">RewriteLogLevel</a> <a name="rewriteloglevel">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the verbosity of the log file used by the rewrite
-engine</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteLogLevel <em>Level</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>RerwiteLogLevel 0</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteLogLevel</code> directive sets the
- verbosity level of the rewriting logfile. The default level 0
- means no logging, while 9 or more means that practically all
- actions are logged.</p>
-
- <p>To disable the logging of rewriting actions simply set
- <em>Level</em> to 0. This disables all rewrite action
- logs.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"> Using a high value for
- <em>Level</em> will slow down your Apache server
- dramatically! Use the rewriting logfile at a
- <em>Level</em> greater than 2 only for debugging!
-</td></tr></table></blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-RewriteLogLevel 3
-</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="RewriteMap">RewriteMap</a> <a name="rewritemap">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Defines a mapping function for key-lookup</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
-</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteMap</code> directive defines a
- <em>Rewriting Map</em> which can be used inside rule
- substitution strings by the mapping-functions to
- insert/substitute fields through a key lookup. The source of
- this lookup can be of various types.</p>
-
- <p>The <a id="mapfunc" name="mapfunc"><em>MapName</em></a> is
- the name of the map and will be used to specify a
- mapping-function for the substitution strings of a rewriting
- rule via one of the following constructs:</p>
-
- <blockquote>
- <strong><code>${</code> <em>MapName</em> <code>:</code>
- <em>LookupKey</em> <code>}</code><br>
- <code>${</code> <em>MapName</em> <code>:</code>
- <em>LookupKey</em> <code>|</code> <em>DefaultValue</em>
- <code>}</code></strong>
- </blockquote>
-
- <p>When such a construct occurs the map <em>MapName</em> is
- consulted and the key <em>LookupKey</em> is looked-up. If the
- key is found, the map-function construct is substituted by
- <em>SubstValue</em>. If the key is not found then it is
- substituted by <em>DefaultValue</em> or by the empty string
- if no <em>DefaultValue</em> was specified.</p>
-
- <p>The following combinations for <em>MapType</em> and
- <em>MapSource</em> can be used:</p>
-
- <ul>
- <li>
- <strong>Standard Plain Text</strong><br>
- MapType: <code>txt</code>, MapSource: Unix filesystem
- path to valid regular file
-
- <p>This is the standard rewriting map feature where the
- <em>MapSource</em> is a plain ASCII file containing
- either blank lines, comment lines (starting with a '#'
- character) or pairs like the following - one per
- line.</p>
-
- <blockquote>
- <strong><em>MatchingKey</em>
- <em>SubstValue</em></strong>
- </blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-<pre>
-##
-## map.txt -- rewriting map
-##
-
-Ralf.S.Engelschall rse # Bastard Operator From Hell
-Mr.Joe.Average joe # Mr. Average
-</pre>
-</code></td></tr></table></blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-RewriteMap real-to-user txt:/path/to/file/map.txt
-</code></td></tr></table></blockquote>
- </li>
-
- <li>
- <strong>Randomized Plain Text</strong><br>
- MapType: <code>rnd</code>, MapSource: Unix filesystem
- path to valid regular file
-
- <p>This is identical to the Standard Plain Text variant
- above but with a special post-processing feature: After
- looking up a value it is parsed according to contained
- ``<code>|</code>'' characters which have the meaning of
- ``or''. In other words they indicate a set of
- alternatives from which the actual returned value is
- chosen randomly. Although this sounds crazy and useless,
- it was actually designed for load balancing in a reverse
- proxy situation where the looked up values are server
- names. Example:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-##
-## map.txt -- rewriting map
-##
-
-static www1|www2|www3|www4
-dynamic www5|www6
-</pre>
-</code></td></tr></table></blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-RewriteMap servers rnd:/path/to/file/map.txt
-</code></td></tr></table></blockquote>
- </li>
-
- <li>
- <strong>Hash File</strong><br>
- MapType: <code>dbm</code>, MapSource: Unix filesystem
- path to valid regular file
-
- <p>Here the source is a binary NDBM format file
- containing the same contents as a <em>Plain Text</em>
- format file, but in a special representation which is
- optimized for really fast lookups. You can create such a
- file with any NDBM tool or with the following Perl
- script:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-#!/path/to/bin/perl
-##
-## txt2dbm -- convert txt map to dbm format
-##
-
-use NDBM_File;
-use Fcntl;
-
-($txtmap, $dbmmap) = @ARGV;
-
-open(TXT, "<$txtmap") or die "Couldn't open $txtmap!\n";
-tie (%DB, 'NDBM_File', $dbmmap,O_RDWR|O_TRUNC|O_CREAT, 0644) or die "Couldn't create $dbmmap!\n";
-
-while (<TXT>) {
- next if (/^\s*#/ or /^\s*$/);
- $DB{$1} = $2 if (/^\s*(\S+)\s+(\S+)/);
-}
-
-untie %DB;
-close(TXT);
-</pre>
-</code></td></tr></table></blockquote>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-$ txt2dbm map.txt map.db
-</code></td></tr></table></blockquote>
- </li>
-
- <li>
- <strong>Internal Function</strong><br>
- MapType: <code>int</code>, MapSource: Internal Apache
- function
-
- <p>Here the source is an internal Apache function.
- Currently you cannot create your own, but the following
- functions already exists:</p>
-
- <ul>
- <li><strong>toupper</strong>:<br>
- Converts the looked up key to all upper case.</li>
-
- <li><strong>tolower</strong>:<br>
- Converts the looked up key to all lower case.</li>
-
- <li><strong>escape</strong>:<br>
- Translates special characters in the looked up key to
- hex-encodings.</li>
-
- <li><strong>unescape</strong>:<br>
- Translates hex-encodings in the looked up key back to
- special characters.</li>
- </ul>
- </li>
-
- <li>
- <strong>External Rewriting Program</strong><br>
- MapType: <code>prg</code>, MapSource: Unix filesystem
- path to valid regular file
-
- <p>Here the source is a program, not a map file. To
- create it you can use the language of your choice, but
- the result has to be a executable (<em>i.e.</em>, either
- object-code or a script with the magic cookie trick
- '<code>#!/path/to/interpreter</code>' as the first
- line).</p>
-
- <p>This program is started once at startup of the Apache
- servers and then communicates with the rewriting engine
- over its <code>stdin</code> and <code>stdout</code>
- file-handles. For each map-function lookup it will
- receive the key to lookup as a newline-terminated string
- on <code>stdin</code>. It then has to give back the
- looked-up value as a newline-terminated string on
- <code>stdout</code> or the four-character string
- ``<code>NULL</code>'' if it fails (<em>i.e.</em>, there
- is no corresponding value for the given key). A trivial
- program which will implement a 1:1 map (<em>i.e.</em>,
- key == value) could be:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-#!/usr/bin/perl
-$| = 1;
-while (<STDIN>) {
- # ...put here any transformations or lookups...
- print $_;
-}
-</pre>
-</code></td></tr></table></blockquote>
-
- <p>But be very careful:</p>
-
- <ol>
- <li>``<em>Keep it simple, stupid</em>'' (KISS), because
- if this program hangs it will hang the Apache server
- when the rule occurs.</li>
-
- <li>Avoid one common mistake: never do buffered I/O on
- <code>stdout</code>! This will cause a deadloop! Hence
- the ``<code>$|=1</code>'' in the above example...</li>
-
- <li>Use the <a href="#rewritelock" class="directive"><code class="directive">RewriteLock</code></a> directive to
- define a lockfile mod_rewrite can use to synchronize the
- communication to the program. By default no such
- synchronization takes place.</li>
- </ol>
- </li>
- </ul>
- <p>The <code class="directive">RewriteMap</code> directive can occur more than
- once. For each mapping-function use one
- <code class="directive">RewriteMap</code> directive to declare its rewriting
- mapfile. While you cannot <strong>declare</strong> a map in
- per-directory context it is of course possible to
- <strong>use</strong> this map in per-directory context. </p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p> For plain text and DBM format files the
-looked-up keys are cached in-core until the <code>mtime</code> of the
-mapfile changes or the server does a restart. This way you can have
-map-functions in rules which are used for <strong>every</strong>
-request. This is no problem, because the external lookup only happens
-once!
-</td></tr></table></blockquote>
-
-<hr/><h2><a name="RewriteOptions">RewriteOptions</a> <a name="rewriteoptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets some special options for the rewrite engine</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteOptions <em>Options</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">RewriteOptions</code> directive sets some
- special options for the current per-server or per-directory
- configuration. The <em>Option</em> strings can be one of the
- following:</p>
-
- <ul>
- <li>'<strong><code>inherit</code></strong>'<br>
- This forces the current configuration to inherit the
- configuration of the parent. In per-virtual-server context
- this means that the maps, conditions and rules of the main
- server are inherited. In per-directory context this means
- that conditions and rules of the parent directory's
- <code>.htaccess</code> configuration are inherited.</li>
- </ul>
-<hr/><h2><a name="RewriteRule">RewriteRule</a> <a name="rewriterule">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Defines rules for the rewriting engine</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>RewriteRule
- <em>Pattern</em> <em>Substitution</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table>
- <p>The <code class="directive">RewriteRule</code> directive is the real
- rewriting workhorse. The directive can occur more than once.
- Each directive then defines one single rewriting rule. The
- <strong>definition order</strong> of these rules is
- <strong>important</strong>, because this order is used when
- applying the rules at run-time.</p>
-
- <p><a id="patterns" name="patterns"><em>Pattern</em></a> can
- be (for Apache 1.1.x a System V8 and for Apache 1.2.x and
- later a POSIX) <a id="regexp" name="regexp">regular
- expression</a> which gets applied to the current URL. Here
- ``current'' means the value of the URL when this rule gets
- applied. This may not be the originally requested URL,
- because any number of rules may already have matched and made
- alterations to it.</p>
-
- <p>Some hints about the syntax of regular expressions:</p>
-
- <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
- <tr>
- <td>
-<pre>
-<strong>Text:</strong>
- <strong><code>.</code></strong> Any single character
- <strong><code>[</code></strong>chars<strong><code>]</code></strong> Character class: One of chars
- <strong><code>[^</code></strong>chars<strong><code>]</code></strong> Character class: None of chars
- text1<strong><code>|</code></strong>text2 Alternative: text1 or text2
-
-<strong>Quantifiers:</strong>
- <strong><code>?</code></strong> 0 or 1 of the preceding text
- <strong><code>*</code></strong> 0 or N of the preceding text (N > 0)
- <strong><code>+</code></strong> 1 or N of the preceding text (N > 1)
-
-<strong>Grouping:</strong>
- <strong><code>(</code></strong>text<strong><code>)</code></strong> Grouping of text
- (either to set the borders of an alternative or
- for making backreferences where the <strong>N</strong>th group can
- be used on the RHS of a RewriteRule with <code>$</code><strong>N</strong>)
-
-<strong>Anchors:</strong>
- <strong><code>^</code></strong> Start of line anchor
- <strong><code>$</code></strong> End of line anchor
-
-<strong>Escaping:</strong>
- <strong><code>\</code></strong>char escape that particular char
- (for instance to specify the chars "<code>.[]()</code>" <em>etc.</em>)
-</pre>
- </td>
- </tr>
- </table>
-
- <p>For more information about regular expressions either have
- a look at your local regex(3) manpage or its
- <code>src/regex/regex.3</code> copy in the Apache 1.3
- distribution. If you are interested in more detailed
- information about regular expressions and their variants
- (POSIX regex, Perl regex, <em>etc.</em>) have a look at the
- following dedicated book on this topic:</p>
-
- <blockquote>
- <em>Mastering Regular Expressions</em><br>
- Jeffrey E.F. Friedl<br>
- Nutshell Handbook Series<br>
- O'Reilly & Associates, Inc. 1997<br>
- ISBN 1-56592-257-3<br>
- </blockquote>
-
- <p>Additionally in mod_rewrite the NOT character
- ('<code>!</code>') is a possible pattern prefix. This gives
- you the ability to negate a pattern; to say, for instance:
- ``<em>if the current URL does <strong>NOT</strong> match this
- pattern</em>''. This can be used for exceptional cases, where
- it is easier to match the negative pattern, or as a last
- default rule.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Notice</strong></p>
-When using the NOT character
- to negate a pattern you cannot have grouped wildcard
- parts in the pattern. This is impossible because when the
- pattern does NOT match, there are no contents for the
- groups. In consequence, if negated patterns are used, you
- cannot use <code>$N</code> in the substitution
- string!
-</td></tr></table></blockquote>
-
- <p><a id="rhs" name="rhs"><em>Substitution</em></a> of a
- rewriting rule is the string which is substituted for (or
- replaces) the original URL for which <em>Pattern</em>
- matched. Beside plain text you can use</p>
-
- <ol>
- <li>back-references <code>$N</code> to the RewriteRule
- pattern</li>
-
- <li>back-references <code>%N</code> to the last matched
- RewriteCond pattern</li>
-
- <li>server-variables as in rule condition test-strings
- (<code>%{VARNAME}</code>)</li>
-
- <li><a href="#mapfunc">mapping-function</a> calls
- (<code>${mapname:key|default}</code>)</li>
- </ol>
- <p>Back-references are <code>$</code><strong>N</strong>
- (<strong>N</strong>=0..9) identifiers which will be replaced
- by the contents of the <strong>N</strong>th group of the
- matched <em>Pattern</em>. The server-variables are the same
- as for the <em>TestString</em> of a <code>RewriteCond</code>
- directive. The mapping-functions come from the
- <code>RewriteMap</code> directive and are explained there.
- These three types of variables are expanded in the order of
- the above list. </p>
-
- <p>As already mentioned above, all the rewriting rules are
- applied to the <em>Substitution</em> (in the order of
- definition in the config file). The URL is <strong>completely
- replaced</strong> by the <em>Substitution</em> and the
- rewriting process goes on until there are no more rules
- unless explicitly terminated by a
- <code><strong>L</strong></code> flag - see below.</p>
-
- <p>There is a special substitution string named
- '<code>-</code>' which means: <strong>NO
- substitution</strong>! Sounds silly? No, it is useful to
- provide rewriting rules which <strong>only</strong> match
- some URLs but do no substitution, <em>e.g.</em>, in
- conjunction with the <strong>C</strong> (chain) flag to be
- able to have more than one pattern to be applied before a
- substitution occurs.</p>
-
- <p>One more note: You can even create URLs in the
- substitution string containing a query string part. Just use
- a question mark inside the substitution string to indicate
- that the following stuff should be re-injected into the
- QUERY_STRING. When you want to erase an existing query
- string, end the substitution string with just the question
- mark.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
-There is a special feature:
- When you prefix a substitution field with
- <code>http://</code><em>thishost</em>[<em>:thisport</em>]
- then <strong>mod_rewrite</strong> automatically strips it
- out. This auto-reduction on implicit external redirect
- URLs is a useful and important feature when used in
- combination with a mapping-function which generates the
- hostname part. Have a look at the first example in the
- example section below to understand this.
-</td></tr></table></blockquote>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Remember</strong></p>
- An unconditional external
- redirect to your own server will not work with the prefix
- <code>http://thishost</code> because of this feature. To
- achieve such a self-redirect, you have to use the
- <strong>R</strong>-flag (see below).
-</td></tr></table></blockquote>
-
- <p>Additionally you can set special flags for
- <em>Substitution</em> by appending</p>
-
- <blockquote>
- <strong><code>[</code><em>flags</em><code>]</code></strong>
- </blockquote>
- <p>
- as the third argument to the <code>RewriteRule</code>
- directive. <em>Flags</em> is a comma-separated list of the
- following flags: </p>
-
- <ul>
- <li>
- '<strong><code>redirect|R</code>
- [=<em>code</em>]</strong>' (force <a id="redirect" name="redirect"><strong>r</strong>edirect</a>)<br>
- Prefix <em>Substitution</em> with
- <code>http://thishost[:thisport]/</code> (which makes the
- new URL a URI) to force a external redirection. If no
- <em>code</em> is given a HTTP response of 302 (MOVED
- TEMPORARILY) is used. If you want to use other response
- codes in the range 300-400 just specify them as a number
- or use one of the following symbolic names:
- <code>temp</code> (default), <code>permanent</code>,
- <code>seeother</code>. Use it for rules which should
- canonicalize the URL and give it back to the client,
- <em>e.g.</em>, translate ``<code>/~</code>'' into
- ``<code>/u/</code>'' or always append a slash to
- <code>/u/</code><em>user</em>, etc.<br>
-
-
- <p><strong>Note:</strong> When you use this flag, make
- sure that the substitution field is a valid URL! If not,
- you are redirecting to an invalid location! And remember
- that this flag itself only prefixes the URL with
- <code>http://thishost[:thisport]/</code>, rewriting
- continues. Usually you also want to stop and do the
- redirection immediately. To stop the rewriting you also
- have to provide the 'L' flag.</p>
- </li>
-
- <li>'<strong><code>forbidden|F</code></strong>' (force URL
- to be <strong>f</strong>orbidden)<br>
- This forces the current URL to be forbidden,
- <em>i.e.</em>, it immediately sends back a HTTP response of
- 403 (FORBIDDEN). Use this flag in conjunction with
- appropriate RewriteConds to conditionally block some
- URLs.</li>
-
- <li>'<strong><code>gone|G</code></strong>' (force URL to be
- <strong>g</strong>one)<br>
- This forces the current URL to be gone, <em>i.e.</em>, it
- immediately sends back a HTTP response of 410 (GONE). Use
- this flag to mark pages which no longer exist as gone.</li>
-
- <li>
- '<strong><code>proxy|P</code></strong>' (force
- <strong>p</strong>roxy)<br>
- This flag forces the substitution part to be internally
- forced as a proxy request and immediately (<em>i.e.</em>,
- rewriting rule processing stops here) put through the <a href="mod_proxy.html">proxy module</a>. You have to make
- sure that the substitution string is a valid URI
- (<em>e.g.</em>, typically starting with
- <code>http://</code><em>hostname</em>) which can be
- handled by the Apache proxy module. If not you get an
- error from the proxy module. Use this flag to achieve a
- more powerful implementation of the <a href="mod_proxy.html#proxypass">ProxyPass</a> directive,
- to map some remote stuff into the namespace of the local
- server.
-
- <p>Notice: To use this functionality make sure you have
- the proxy module compiled into your Apache server
- program. If you don't know please check whether
- <code>mod_proxy.c</code> is part of the ``<code>httpd
- -l</code>'' output. If yes, this functionality is
- available to mod_rewrite. If not, then you first have to
- rebuild the ``<code>httpd</code>'' program with mod_proxy
- enabled.</p>
- </li>
-
- <li>'<strong><code>last|L</code></strong>'
- (<strong>l</strong>ast rule)<br>
- Stop the rewriting process here and don't apply any more
- rewriting rules. This corresponds to the Perl
- <code>last</code> command or the <code>break</code> command
- from the C language. Use this flag to prevent the currently
- rewritten URL from being rewritten further by following
- rules. For example, use it to rewrite the root-path URL
- ('<code>/</code>') to a real one, <em>e.g.</em>,
- '<code>/e/www/</code>'.</li>
-
- <li>'<strong><code>next|N</code></strong>'
- (<strong>n</strong>ext round)<br>
- Re-run the rewriting process (starting again with the
- first rewriting rule). Here the URL to match is again not
- the original URL but the URL from the last rewriting rule.
- This corresponds to the Perl <code>next</code> command or
- the <code>continue</code> command from the C language. Use
- this flag to restart the rewriting process, <em>i.e.</em>,
- to immediately go to the top of the loop.<br>
- <strong>But be careful not to create an infinite
- loop!</strong></li>
-
- <li>'<strong><code>chain|C</code></strong>'
- (<strong>c</strong>hained with next rule)<br>
- This flag chains the current rule with the next rule
- (which itself can be chained with the following rule,
- <em>etc.</em>). This has the following effect: if a rule
- matches, then processing continues as usual, <em>i.e.</em>,
- the flag has no effect. If the rule does
- <strong>not</strong> match, then all following chained
- rules are skipped. For instance, use it to remove the
- ``<code>.www</code>'' part inside a per-directory rule set
- when you let an external redirect happen (where the
- ``<code>.www</code>'' part should not to occur!).</li>
-
- <li>
- '<strong><code>type|T</code></strong>=<em>MIME-type</em>'
- (force MIME <strong>t</strong>ype)<br>
- Force the MIME-type of the target file to be
- <em>MIME-type</em>. For instance, this can be used to
- simulate the <code>mod_alias</code> directive
- <code>ScriptAlias</code> which internally forces all files
- inside the mapped directory to have a MIME type of
- ``<code>application/x-httpd-cgi</code>''.</li>
-
- <li>
- '<strong><code>nosubreq|NS</code></strong>' (used only if
- <strong>n</strong>o internal
- <strong>s</strong>ub-request)<br>
- This flag forces the rewriting engine to skip a
- rewriting rule if the current request is an internal
- sub-request. For instance, sub-requests occur internally
- in Apache when <code>mod_include</code> tries to find out
- information about possible directory default files
- (<code>index.xxx</code>). On sub-requests it is not
- always useful and even sometimes causes a failure to if
- the complete set of rules are applied. Use this flag to
- exclude some rules.<br>
-
-
- <p>Use the following rule for your decision: whenever you
- prefix some URLs with CGI-scripts to force them to be
- processed by the CGI-script, the chance is high that you
- will run into problems (or even overhead) on
- sub-requests. In these cases, use this flag.</p>
- </li>
-
- <li>'<strong><code>nocase|NC</code></strong>'
- (<strong>n</strong>o <strong>c</strong>ase)<br>
- This makes the <em>Pattern</em> case-insensitive,
- <em>i.e.</em>, there is no difference between 'A-Z' and
- 'a-z' when <em>Pattern</em> is matched against the current
- URL.</li>
-
- <li>'<strong><code>qsappend|QSA</code></strong>'
- (<strong>q</strong>uery <strong>s</strong>tring
- <strong>a</strong>ppend)<br>
- This flag forces the rewriting engine to append a query
- string part in the substitution string to the existing one
- instead of replacing it. Use this when you want to add more
- data to the query string via a rewrite rule.</li>
-
- <li>
- '<strong><code>noescape|NE</code></strong>'
- (<strong>n</strong>o URI <strong>e</strong>scaping of
- output)<br>
- This flag keeps mod_rewrite from applying the usual URI
- escaping rules to the result of a rewrite. Ordinarily,
- special characters (such as '%', '$', ';', and so on)
- will be escaped into their hexcode equivalents ('%25',
- '%24', and '%3B', respectively); this flag prevents this
- from being done. This allows percent symbols to appear in
- the output, as in
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</code></td></tr></table></blockquote>
-
- which would turn '<code>/foo/zed</code>' into a safe
- request for '<code>/bar?arg=P1=zed</code>'.
- </li>
-
- <li>
- '<strong><code>passthrough|PT</code></strong>'
- (<strong>p</strong>ass <strong>t</strong>hrough to next
- handler)<br>
- This flag forces the rewriting engine to set the
- <code>uri</code> field of the internal
- <code>request_rec</code> structure to the value of the
- <code>filename</code> field. This flag is just a hack to
- be able to post-process the output of
- <code>RewriteRule</code> directives by
- <code>Alias</code>, <code>ScriptAlias</code>,
- <code>Redirect</code>, <em>etc.</em> directives from
- other URI-to-filename translators. A trivial example to
- show the semantics: If you want to rewrite
- <code>/abc</code> to <code>/def</code> via the rewriting
- engine of <code>mod_rewrite</code> and then
- <code>/def</code> to <code>/ghi</code> with
- <code>mod_alias</code>:
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- RewriteRule ^/abc(.*) /def$1 [PT]<br>
- Alias /def /ghi
-</code></td></tr></table></blockquote>
- If you omit the <code>PT</code> flag then
- <code>mod_rewrite</code> will do its job fine,
- <em>i.e.</em>, it rewrites <code>uri=/abc/...</code> to
- <code>filename=/def/...</code> as a full API-compliant
- URI-to-filename translator should do. Then
- <code>mod_alias</code> comes and tries to do a
- URI-to-filename transition which will not work.
-
- <p>Note: <strong>You have to use this flag if you want to
- intermix directives of different modules which contain
- URL-to-filename translators</strong>. The typical example
- is the use of <code>mod_alias</code> and
- <code>mod_rewrite</code>..</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>For Apache hackers</strong></p>
- If the current Apache API had a filename-to-filename
- hook additionally to the URI-to-filename hook then we
- wouldn't need this flag! But without such a hook this
- flag is the only solution. The Apache Group has
- discussed this problem and will add such a hook in
- Apache version 2.0.
-</td></tr></table></blockquote>
- </li>
-
- <li>'<strong><code>skip|S</code></strong>=<em>num</em>'
- (<strong>s</strong>kip next rule(s))<br>
- This flag forces the rewriting engine to skip the next
- <em>num</em> rules in sequence when the current rule
- matches. Use this to make pseudo if-then-else constructs:
- The last rule of the then-clause becomes
- <code>skip=N</code> where N is the number of rules in the
- else-clause. (This is <strong>not</strong> the same as the
- 'chain|C' flag!)</li>
-
- <li>
- '<strong><code>env|E=</code></strong><em>VAR</em>:<em>VAL</em>'
- (set <strong>e</strong>nvironment variable)<br>
- This forces an environment variable named <em>VAR</em> to
- be set to the value <em>VAL</em>, where <em>VAL</em> can
- contain regexp backreferences <code>$N</code> and
- <code>%N</code> which will be expanded. You can use this
- flag more than once to set more than one variable. The
- variables can be later dereferenced in many situations, but
- usually from within XSSI (via <code><!--#echo
- var="VAR"--></code>) or CGI (<em>e.g.</em>
- <code>$ENV{'VAR'}</code>). Additionally you can dereference
- it in a following RewriteCond pattern via
- <code>%{ENV:VAR}</code>. Use this to strip but remember
- information from URLs.</li>
- </ul>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p> Never forget that <em>Pattern</em> is
-applied to a complete URL in per-server configuration
-files. <strong>But in per-directory configuration files, the
-per-directory prefix (which always is the same for a specific
-directory!) is automatically <em>removed</em> for the pattern matching
-and automatically <em>added</em> after the substitution has been
-done.</strong> This feature is essential for many sorts of rewriting,
-because without this prefix stripping you have to match the parent
-directory which is not always possible.
-
- <p>There is one exception: If a substitution string
- starts with ``<code>http://</code>'' then the directory
- prefix will <strong>not</strong> be added and an
- external redirect or proxy throughput (if flag
- <strong>P</strong> is used!) is forced!</p>
-</td></tr></table></blockquote>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
- To enable the rewriting engine
- for per-directory configuration files you need to set
- ``<code>RewriteEngine On</code>'' in these files
- <strong>and</strong> ``<code>Options
- FollowSymLinks</code>'' must be enabled. If your
- administrator has disabled override of
- <code>FollowSymLinks</code> for a user's directory, then
- you cannot use the rewriting engine. This restriction is
- needed for security reasons.
-</td></tr></table></blockquote>
-
- <p>Here are all possible substitution combinations and their
- meanings:</p>
-
- <p><strong>Inside per-server configuration
- (<code>httpd.conf</code>)<br>
- for request ``<code>GET
- /somepath/pathinfo</code>'':</strong><br>
- </p>
-
- <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
- <tr>
- <td>
-<pre>
-<strong>Given Rule</strong> <strong>Resulting Substitution</strong>
----------------------------------------------- ----------------------------------
-^/somepath(.*) otherpath$1 not supported, because invalid!
-
-^/somepath(.*) otherpath$1 [R] not supported, because invalid!
-
-^/somepath(.*) otherpath$1 [P] not supported, because invalid!
----------------------------------------------- ----------------------------------
-^/somepath(.*) /otherpath$1 /otherpath/pathinfo
-
-^/somepath(.*) /otherpath$1 [R] http://thishost/otherpath/pathinfo
- via external redirection
-
-^/somepath(.*) /otherpath$1 [P] not supported, because silly!
----------------------------------------------- ----------------------------------
-^/somepath(.*) http://thishost/otherpath$1 /otherpath/pathinfo
-
-^/somepath(.*) http://thishost/otherpath$1 [R] http://thishost/otherpath/pathinfo
- via external redirection
-
-^/somepath(.*) http://thishost/otherpath$1 [P] not supported, because silly!
----------------------------------------------- ----------------------------------
-^/somepath(.*) http://otherhost/otherpath$1 http://otherhost/otherpath/pathinfo
- via external redirection
-
-^/somepath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
- via external redirection
- (the [R] flag is redundant)
-
-^/somepath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
- via internal proxy
-</pre>
- </td>
- </tr>
- </table>
-
- <p><strong>Inside per-directory configuration for
- <code>/somepath</code><br>
- (<em>i.e.</em>, file <code>.htaccess</code> in dir
- <code>/physical/path/to/somepath</code> containing
- <code>RewriteBase /somepath</code>)<br>
- for request ``<code>GET
- /somepath/localpath/pathinfo</code>'':</strong><br>
- </p>
-
- <table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
- <tr>
- <td>
-<pre>
-<strong>Given Rule</strong> <strong>Resulting Substitution</strong>
----------------------------------------------- ----------------------------------
-^localpath(.*) otherpath$1 /somepath/otherpath/pathinfo
-
-^localpath(.*) otherpath$1 [R] http://thishost/somepath/otherpath/pathinfo
- via external redirection
-
-^localpath(.*) otherpath$1 [P] not supported, because silly!
----------------------------------------------- ----------------------------------
-^localpath(.*) /otherpath$1 /otherpath/pathinfo
-
-^localpath(.*) /otherpath$1 [R] http://thishost/otherpath/pathinfo
- via external redirection
-
-^localpath(.*) /otherpath$1 [P] not supported, because silly!
----------------------------------------------- ----------------------------------
-^localpath(.*) http://thishost/otherpath$1 /otherpath/pathinfo
-
-^localpath(.*) http://thishost/otherpath$1 [R] http://thishost/otherpath/pathinfo
- via external redirection
-
-^localpath(.*) http://thishost/otherpath$1 [P] not supported, because silly!
----------------------------------------------- ----------------------------------
-^localpath(.*) http://otherhost/otherpath$1 http://otherhost/otherpath/pathinfo
- via external redirection
-
-^localpath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
- via external redirection
- (the [R] flag is redundant)
-
-^localpath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
- via internal proxy
-</pre>
- </td>
- </tr>
- </table>
-
- <p><strong>Example:</strong></p>
-
- <p>We want to rewrite URLs of the form </p>
-
- <blockquote>
- <code>/</code> <em>Language</em> <code>/~</code>
- <em>Realname</em> <code>/.../</code> <em>File</em>
- </blockquote>
-
- <p>into </p>
-
- <blockquote>
- <code>/u/</code> <em>Username</em> <code>/.../</code>
- <em>File</em> <code>.</code> <em>Language</em>
- </blockquote>
-
- <p>We take the rewrite mapfile from above and save it under
- <code>/path/to/file/map.txt</code>. Then we only have to
- add the following lines to the Apache server configuration
- file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-RewriteLog /path/to/file/rewrite.log
-RewriteMap real-to-user txt:/path/to/file/map.txt
-RewriteRule ^/([^/]+)/~([^/]+)/(.*)$ /u/${real-to-user:$2|nobody}/$3.$1
-</pre>
- </code></td></tr></table></blockquote>
- <hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_setenvif- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_setenvif</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Allows the setting of environment variables based
-on characteristics of the request</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>setenvif_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 1.3 and later</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>The <code><a href="mod_setenvif.html">mod_setenvif</a></code> module allows you to set
- environment variables according to whether different aspects of
- the request match regular expressions you specify. These
- environment variables can be used by other parts of the server
- to make decisions about actions to be taken.</p>
-
- <p>The directives are considered in the order they appear in
- the configuration files. So more complex sequences can be used,
- such as this example, which sets <code>netscape</code> if the
- browser is mozilla but not MSIE.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- BrowserMatch ^Mozilla netscape<br>
- BrowserMatch MSIE !netscape<br>
-</code></td></tr></table></blockquote>
-<h2>Directives</h2><ul><li><a href="#browsermatch">BrowserMatch</a></li><li><a href="#browsermatchnocase">BrowserMatchNoCase</a></li><li><a href="#setenvif">SetEnvIf</a></li><li><a href="#setenvifnocase">SetEnvIfNoCase</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../env.html">Environment Variables in Apache</a></li></ul><hr/><h2><a name="BrowserMatch">BrowserMatch</a> <a name="browsermatch">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets environment variables conditional on HTTP User-Agent
-</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>BrowserMatch <em>regex env-variable</em>[=<em>value</em>]
-[<em>env-variable</em>[=<em>value</em>]] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_setenvif</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.2 and
- above (in Apache 1.2 this directive was found in the
- now-obsolete mod_browser module)</td></tr></table></td></tr></table>
- <p>The <code class="directive">BrowserMatch</code> directive defines
- environment variables based on the <code>User-Agent</code> HTTP
- request header field. The first argument should be a POSIX.2
- extended regular expression (similar to an
- <code>egrep</code>-style regex). The rest of the arguments give
- the names of variables to set, and optionally values to which they
- should be set. These take the form of</p>
-
- <ol>
- <li><code><em>varname</em></code>, or</li>
-
- <li><code>!<em>varname</em></code>, or</li>
-
- <li><code><em>varname</em>=<em>value</em></code></li>
- </ol>
-
- <p>In the first form, the value will be set to "1". The second
- will remove the given variable if already defined, and the
- third will set the variable to the value given by
- <code><em>value</em></code>. If a <code>User-Agent</code>
- string matches more than one entry, they will be merged.
- Entries are processed in the order in which they appear, and
- later entries can override earlier ones.</p>
-
- <p>For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br>
- BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br>
- BrowserMatch MSIE !javascript<br>
-</code></td></tr></table></blockquote>
-
- <p>Note that the regular expression string is
- <strong>case-sensitive</strong>. For case-INsensitive matching,
- see the <a href="#browsermatchnocase" class="directive"><code class="directive">BrowserMatchNoCase</code></a>
- directive.</p>
-
- <p>The <code class="directive">BrowserMatch</code> and
- <code class="directive">BrowserMatchNoCase</code> directives are special cases of
- the <a href="#setenvif" class="directive"><code class="directive">SetEnvIf</code></a> and <a href="#setenvifnocase" class="directive"><code class="directive">SetEnvIfNoCase</code></a>
- directives. The following two lines have the same effect:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- BrowserMatchNoCase Robot is_a_robot<br>
- SetEnvIfNoCase User-Agent Robot is_a_robot<br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets environment variables conditional on User-Agent without
-respect to case</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>BrowserMatchNoCase <em>regex env-variable</em>[=<em>value</em>]
- [<em>env-variable</em>[=<em>value</em>]] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_setenvif</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.2 and
- above (in Apache 1.2 this directive was found in the
- now-obsolete mod_browser module)</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">BrowserMatchNoCase</code> directive is
- semantically identical to the <a href="#browsermatch" class="directive"><code class="directive">BrowserMatch</code></a> directive.
- However, it provides for case-insensitive matching. For
- example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- BrowserMatchNoCase mac platform=macintosh<br>
- BrowserMatchNoCase win platform=windows<br>
-</code></td></tr></table></blockquote>
-
- <p>The <code class="directive">BrowserMatch</code> and
- <code class="directive">BrowserMatchNoCase</code> directives are special cases of
- the <a href="#setenvif" class="directive"><code class="directive">SetEnvIf</code></a> and <a href="#setenvifnocase" class="directive"><code class="directive">SetEnvIfNoCase</code></a>
- directives. The following two lines have the same effect:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- BrowserMatchNoCase Robot is_a_robot<br>
- SetEnvIfNoCase User-Agent Robot is_a_robot<br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SetEnvIf">SetEnvIf</a> <a name="setenvif">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets environment variables based on attributes of the request
-</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetEnvIf <em>attribute
- regex env-variable</em>[=<em>value</em>]
- [<em>env-variable</em>[=<em>value</em>]] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_setenvif</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.3 and
- above; the Request_Protocol keyword and environment-variable
- matching are only available with 1.3.7 and later</td></tr></table></td></tr></table>
- <p>The <code class="directive">SetEnvIf</code> directive defines environment
- variables based on attributes of the request. These attributes
- can be the values of various HTTP request header fields (see <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>
- for more information about these), or of other aspects of the
- request, including the following:</p>
-
- <ul>
- <li><code>Remote_Host</code> - the hostname (if available) of
- the client making the request</li>
-
- <li><code>Remote_Addr</code> - the IP address of the client
- making the request</li>
-
- <li><code>Remote_User</code> - the authenticated username (if
- available)</li>
-
- <li><code>Request_Method</code> - the name of the method
- being used (<code>GET</code>, <code>POST</code>, <em>et
- cetera</em>)</li>
-
- <li><code>Request_Protocol</code> - the name and version of
- the protocol with which the request was made (<em>e.g.</em>,
- "HTTP/0.9", "HTTP/1.1", <em>etc.</em>)</li>
-
- <li><code>Request_URI</code> - the portion of the URL
- following the scheme and host portion</li>
- </ul>
-
- <p>Some of the more commonly used request header field names
- include <code>Host</code>, <code>User-Agent</code>, and
- <code>Referer</code>.</p>
-
- <p>If the <em>attribute</em> name doesn't match any of the
- special keywords, nor any of the request's header field names,
- it is tested as the name of an environment variable in the list
- of those associated with the request. This allows
- <code class="directive">SetEnvIf</code> directives to test against the result of
- prior matches.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- <strong>Only those environment variables defined by earlier
- <code>SetEnvIf[NoCase]</code> directives are available for
- testing in this manner. 'Earlier' means that they were
- defined at a broader scope (such as server-wide) or
- previously in the current directive's scope.</strong>
-</td></tr></table></blockquote>
-
- <p><em>attribute</em> may be a regular expression when used to
- match a request header. If <em>attribute</em> is a regular
- expression and it doesn't match any of the request's header
- names, then <em>attribute</em> is not tested against the
- request's environment variable list.</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example:</strong></p><code>
-
- SetEnvIf Request_URI "\.gif$" object_is_image=gif<br>
- SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br>
- SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br>
- :<br>
- SetEnvIf Referer www\.mydomain\.com intra_site_referral<br>
- :<br>
- SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br>
- :<br>
- SetEnvIf ^TS* ^[a-z].* HAVE_TS<br>
-</code></td></tr></table></blockquote>
-
- <p>The first three will set the environment variable
- <code>object_is_image</code> if the request was for an image
- file, and the fourth sets <code>intra_site_referral</code> if
- the referring page was somewhere on the
- <code>www.mydomain.com</code> Web site.</p>
-
- <p>The last example will set environment variable
- <code>HAVE_TS</code> if the request contains any headers that
- begin with "TS" whose values begins with any character in the
- set [a-z].</p>
-<hr/><h2><a name="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets environment variables based on attributes of the request
-without respect to case</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SetEnvIfNoCase <em>attribute regex env-variable</em>[=<em>value</em>]
- [<em>env-variable</em>[=<em>value</em>]] ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_setenvif</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.3 and above</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">SetEnvIfNoCase</code> is semantically identical to
- the <a href="#setenvif" class="directive"><code class="directive">SetEnvIf</code></a> directive,
- and differs only in that the regular expression matching is
- performed in a case-insensitive manner. For example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- SetEnvIfNoCase Host Apache\.Org site=apache
-</code></td></tr></table></blockquote>
-
- <p>This will cause the <code>site</code> environment variable
- to be set to "<code>apache</code>" if the HTTP request header
- field <code>Host:</code> was included and contained
- <code>Apache.Org</code>, <code>apache.org</code>, or any other
- combination.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_so- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_so</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>
- This module provides for loading of executable code and
- modules into the server at start-up or restart time.
-</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base (Windows>; Optional (Unix)</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>so_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 1.3 and later.</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>On selected operating systems this module can be used to
- load modules into Apache at runtime via the <a href="../dso.html">Dynamic Shared Object</a> (DSO) mechanism,
- rather than requiring a recompilation.</p>
-
- <p>On Unix, the loaded code typically comes from shared object
- files (usually with <code>.so</code> extension), on Windows
- this may either the <code>.so</code> or <code>.dll</code>
- extension. This module is only available in Apache 1.3 and
- up.</p>
-
- <p>In previous releases, the functionality of this module was
- provided for Unix by mod_dld, and for Windows by mod_dll. On
- Windows, mod_dll was used in beta release 1.3b1 through 1.3b5.
- mod_so combines these two modules into a single module for all
- operating systems.</p>
- <blockquote><table><tr><td bgcolor="#ffe5f5"><p align="center"><strong>Warning</strong></p>
- <p>Apache 1.3 modules cannot be directly used
- with Apache 2.0 - the module must be modified to dynamically
- load or compile into Apache 2.0.</p>
- </td></tr></table></blockquote>
-<h2>Directives</h2><ul><li><a href="#loadfile">LoadFile</a></li><li><a href="#loadmodule">LoadModule</a></li></ul><h2>Creating Loadable Modules for Windows</h2>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
- <p>The module name format changed for Windows
- with Apache 1.3.15 and 2.0 - the modules are now named as
- mod_foo.so</p>
- <p>While mod_so still loads modules with
- ApacheModuleFoo.dll names, the new naming convention is
- preferred; if you are converting your loadable module for 2.0,
- please fix the name to this 2.0 convention.</p></td></tr></table></blockquote>
-
- <p>The Apache module API is unchanged between the Unix and
- Windows versions. Many modules will run on Windows with no or
- little change from Unix, although others rely on aspects of the
- Unix architecture which are not present in Windows, and will
- not work.</p>
-
- <p>When a module does work, it can be added to the server in
- one of two ways. As with Unix, it can be compiled into the
- server. Because Apache for Windows does not have the
- <code>Configure</code> program of Apache for Unix, the module's
- source file must be added to the ApacheCore project file, and
- its symbols must be added to the
- <code>os\win32\modules.c</code> file.</p>
-
- <p>The second way is to compile the module as a DLL, a shared
- library that can be loaded into the server at runtime, using
- the <code><code class="directive">LoadModule</code></code>
- directive. These module DLLs can be distributed and run on any
- Apache for Windows installation, without recompilation of the
- server.</p>
-
- <p>To create a module DLL, a small change is necessary to the
- module's source file: The module record must be exported from
- the DLL (which will be created later; see below). To do this,
- add the <code>AP_MODULE_DECLARE_DATA</code> (defined in the
- Apache header files) to your module's module record definition.
- For example, if your module has:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- module foo_module;
-</code></td></tr></table></blockquote>
-
- <p>Replace the above with:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- module AP_MODULE_DECLARE_DATA foo_module;
-</code></td></tr></table></blockquote>
-
- <p>Note that this will only be activated on Windows, so the
- module can continue to be used, unchanged, with Unix if needed.
- Also, if you are familiar with <code>.DEF</code> files, you can
- export the module record with that method instead.</p>
-
- <p>Now, create a DLL containing your module. You will need to
- link this against the libhttpd.lib export library that is
- created when the libhttpd.dll shared library is compiled. You
- may also have to change the compiler settings to ensure that
- the Apache header files are correctly located. You can find
- this library in your server root's modules directory. It is
- best to grab an existing module .dsp file from the tree to
- assure the build environment is configured correctly, or
- alternately compare the compiler and link options to your
- .dsp.</p>
-
- <p>This should create a DLL version of your module. Now simply
- place it in the <code>modules</code> directory of your server
- root, and use the <code class="directive">LoadModule</code>
- directive to load it.</p>
-
-<hr/><h2><a name="LoadFile">LoadFile</a> <a name="loadfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Link in the named object file or library</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LoadFile <em>filename</em> [<em>filename</em>] ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base (Windows>; Optional (Unix)</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_so</td></tr></table></td></tr></table>
-
- <p>The LoadFile directive links in the named object files or
- libraries when the server is started or restarted; this is used
- to load additional code which may be required for some module
- to work. <em>Filename</em> is either an absolute path or
- relative to <a href="core.html#serverroot">ServerRoot</a>.</p>
-
- <p>For example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>LoadFile libexex/libxmlparse.so</code></td></tr></table></blockquote>
-
-<hr/><h2><a name="LoadModule">LoadModule</a> <a name="loadmodule">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Links in the object file or library, and adds to the list
-of active modules</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LoadModule <em>module filename</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base (Windows>; Optional (Unix)</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_so</td></tr></table></td></tr></table>
- <p>The LoadModule directive links in the object file or library
- <em>filename</em> and adds the module structure named
- <em>module</em> to the list of active modules. <em>Module</em>
- is the name of the external variable of type
- <code>module</code> in the file, and is listed as the <a href="module-dict.html#ModuleIdentifier">Module Identifier</a>
- in the module documentation. Example:</p>
-
- <blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- LoadModule status_module modules/mod_status.so
- </code></td></tr></table></blockquote>
-
- <p>loads the named module from the modules subdirectory of the
- ServerRoot.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_speling- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_speling</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Attempts to correct mistaken URLs that
-users might have entered by ignoring capitalization and by
-allowing up to one misspelling</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>speling_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>Requests to documents sometimes cannot be served by the core
- apache server because the request was misspelled or
- miscapitalized. This module addresses this problem by trying to
- find a matching document, even after all other modules gave up.
- It does its work by comparing each document name in the
- requested directory against the requested document name
- <strong>without regard to case</strong>, and allowing
- <strong>up to one misspelling</strong> (character insertion /
- omission / transposition or wrong character). A list is built
- with all document names which were matched using this
- strategy.</p>
-
- <p>If, after scanning the directory,</p>
-
- <ul>
- <li>no matching document was found, Apache will proceed as
- usual and return a "document not found" error.</li>
-
- <li>only one document is found that "almost" matches the
- request, then it is returned in the form of a redirection
- response.</li>
-
- <li>more than one document with a close match was found, then
- the list of the matches is returned to the client, and the
- client can select the correct candidate.</li>
- </ul>
-
-<h2>Directives</h2><ul><li><a href="#checkspelling">CheckSpelling</a></li></ul><hr/><h2><a name="CheckSpelling">CheckSpelling</a> <a name="checkspelling">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables the spelling
-module</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CheckSpelling on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>CheckSpelling Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_speling</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>CheckSpelling was available as a separately available
-module for Apache 1.1, but was limited to miscapitalizations. As
-of Apache 1.3, it is part of the Apache distribution. Prior to Apache
-1.3.2, the CheckSpelling directive was only available in the
-"server" and "virtual host" contexts.</td></tr></table></td></tr></table>
-
- <p>This directive enables or disables the spelling module. When
- enabled, keep in mind that</p>
-
- <ul>
- <li>the directory scan which is necessary for the spelling
- correction will have an impact on the server's performance
- when many spelling corrections have to be performed at the
- same time.</li>
-
- <li>the document trees should not contain sensitive files
- which could be matched inadvertently by a spelling
- "correction".</li>
-
- <li>the module is unable to correct misspelled user names (as
- in <code>http://my.host/~apahce/</code>), just file names or
- directory names.</li>
-
- <li>spelling corrections apply strictly to existing files, so
- a request for the <code><Location /status></code> may
- get incorrectly treated as the negotiated file
- "<code>/stats.html</code>".</li>
- </ul>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_ssl- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_ssl</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Strong cryptography using the Secure Sockets
-Layer (SSL) and Transport Layer Security (TLS) protocols</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>ssl_module</td></tr></table></td></tr></table><h2>Summary</h2>
-<p>This module provides SSL v2/v3 and TLS v1 support for the Apache
-HTTP Server. It was contributed by Ralf S. Engeschall based on his
-mod_ssl project and originally derived from work by Ben Laurie.</p>
-
-<p>This module relies on <a href="http://www.openssl.org/">OpenSSL</a>
-to provide the cryptography engine.</p>
-
-<p>Further details, discussion, and examples are provided in the
-<a href="../ssl/">SSL documentation</a>.</p>
-<h2>Directives</h2><ul><li><a href="#sslcacertificatefile">SSLCACertificateFile</a></li><li><a href="#sslcacertificatepath">SSLCACertificatePath</a></li><li><a href="#sslcarevocationfile">SSLCARevocationFile</a></li><li><a href="#sslcarevocationpath">SSLCARevocationPath</a></li><li><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></li><li><a href="#sslcertificatefile">SSLCertificateFile</a></li><li><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></li><li><a href="#sslciphersuite">SSLCipherSuite</a></li><li><a href="#sslengine">SSLEngine</a></li><li><a href="#sslmutex">SSLMutex</a></li><li><a href="#ssloptions">SSLOptions</a></li><li><a href="#sslpassphrasedialog">SSLPassPhraseDialog</a></li><li><a href="#sslprotocol">SSLProtocol</a></li><li><a href="#sslrandomseed">SSLRandomSeed</a></li><li><a href="#sslrequire">SSLRequire</a></li><li><a href="#sslrequiressl">SSLRequireSSL</a></li><li><a href="#sslsessioncache">SSLSessionCache</a></li><li><a href="#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li><li><a href="#sslverifyclient">SSLVerifyClient</a></li><li><a href="#sslverifydepth">SSLVerifyDepth</a></li></ul><h2>Environment Variables</h2>
-
-<p>This module provides a lot of SSL information as additional environment
-variables to the SSI and CGI namespace. The generated variables are listed in
-the table below. For backward compatibility the information can
-be made available under different names, too. Look in the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter for details on the
-compatibility variables.</p>
-
-<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
-
-<tr><td bgcolor="#cccccc">
-<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
-<tr><td bgcolor="#ffffff">
-<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
-<tr>
- <td><strong>Variable Name:</strong></td>
- <td><strong>Value Type:</strong></td>
- <td><strong>Description:</strong></td>
-</tr>
-<tr><td><code>HTTPS</code></td> <td>flag</td> <td>HTTPS is being used.</td></tr>
-<tr><td><code>SSL_PROTOCOL</code></td> <td>string</td> <td>The SSL protocol version (SSLv2, SSLv3, TLSv1)</td></tr>
-<tr><td><code>SSL_SESSION_ID</code></td> <td>string</td> <td>The hex-encoded SSL session id</td></tr>
-<tr><td><code>SSL_CIPHER</code></td> <td>string</td> <td>The cipher specification name</td></tr>
-<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>string</td> <td><code>true</code> if cipher is an export cipher</td></tr>
-<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (actually used)</td></tr>
-<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (possible)</td></tr>
-<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>string</td> <td>The mod_ssl program version</td></tr>
-<tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>string</td> <td>The OpenSSL program version</td></tr>
-<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>string</td> <td>The version of the client certificate</td></tr>
-<tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>string</td> <td>The serial of the client certificate</td></tr>
-<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>string</td> <td>Subject DN in client's certificate</td></tr>
-<tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>string</td> <td>Component of client's Subject DN</td></tr>
-<tr><td><code>SSL_CLIENT_I_DN</code></td> <td>string</td> <td>Issuer DN of client's certificate</td></tr>
-<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>string</td> <td>Component of client's Issuer DN</td></tr>
-<tr><td><code>SSL_CLIENT_V_START</code></td> <td>string</td> <td>Validity of client's certificate (start time)</td></tr>
-<tr><td><code>SSL_CLIENT_V_END</code></td> <td>string</td> <td>Validity of client's certificate (end time)</td></tr>
-<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>string</td> <td>Algorithm used for the signature of client's certificate</td></tr>
-<tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>string</td> <td>Algorithm used for the public key of client's certificate</td></tr>
-<tr><td><code>SSL_CLIENT_CERT</code></td> <td>string</td> <td>PEM-encoded client certificate</td></tr>
-<tr><td><code>SSL_CLIENT_CERT_CHAIN</code><em>n</em></td> <td>string</td> <td>PEM-encoded certificates in client certificate chain</td></tr>
-<tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>string</td> <td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> or <code>FAILED:</code><em>reason</em></td></tr>
-<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>string</td> <td>The version of the server certificate</td></tr>
-<tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>string</td> <td>The serial of the server certificate</td></tr>
-<tr><td><code>SSL_SERVER_S_DN</code></td> <td>string</td> <td>Subject DN in server's certificate</td></tr>
-<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>string</td> <td>Component of server's Subject DN</td></tr>
-<tr><td><code>SSL_SERVER_I_DN</code></td> <td>string</td> <td>Issuer DN of server's certificate</td></tr>
-<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>string</td> <td>Component of server's Issuer DN</td></tr>
-<tr><td><code>SSL_SERVER_V_START</code></td> <td>string</td> <td>Validity of server's certificate (start time)</td></tr>
-<tr><td><code>SSL_SERVER_V_END</code></td> <td>string</td> <td>Validity of server's certificate (end time)</td></tr>
-<tr><td><code>SSL_SERVER_A_SIG</code></td> <td>string</td> <td>Algorithm used for the signature of server's certificate</td></tr>
-<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>string</td> <td>Algorithm used for the public key of server's certificate</td></tr>
-<tr><td><code>SSL_SERVER_CERT</code></td> <td>string</td> <td>PEM-encoded server certificate</td></tr>
-</table>
-[ where <em>x509</em> is a component of a X.509 DN:
- <code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code> ]
-</td>
-</tr></table>
-</td></tr></table>
-<h2>Custom Log Formats</h2>
-
-<p>When <code><a href="mod_ssl.html">mod_ssl</a></code> is built into Apache or at least
-loaded (under DSO situation) additional functions exist for the <a href="../mod_log_config.html#formats">Custom Log Format</a> of
-<code><a href="mod_log_config.html">mod_log_config</a></code>. First there is an
-additional ``<code>%{</code><em>varname</em><code>}x</code>''
-eXtension format function which can be used to expand any variables
-provided by any module, especially those provided by mod_ssl which can
-you find in the above table.</p>
-<p>
-For backward compatibility there is additionally a special
-``<code>%{</code><em>name</em><code>}c</code>'' cryptography format function
-provided. Information about this function is provided in the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter.</p>
-<p>
-Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-CustomLog logs/ssl_request_log \
- "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCACertificateFile">SSLCACertificateFile</a> <a name="sslcacertificatefile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>File of concatenated PEM-encoded CA Certificates
-for Client Auth</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCACertificateFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the <em>all-in-one</em> file where you can assemble the
-Certificates of Certification Authorities (CA) whose <em>clients</em> you deal
-with. These are used for Client Authentication. Such a file is simply the
-concatenation of the various PEM-encoded Certificate files, in order of
-preference. This can be used alternatively and/or additionally to
-<a href="#sslcacertificatepath" class="directive"><code class="directive">SSLCACertificatePath</code></a>.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCACertificateFile /usr/local/apache/conf/ssl.crt/ca-bundle-client.crt
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCACertificatePath">SSLCACertificatePath</a> <a name="sslcacertificatepath">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Directory of PEM-encoded CA Certificates for
-Client Auth</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCACertificatePath <em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the directory where you keep the Certificates of
-Certification Authorities (CAs) whose clients you deal with. These are used to
-verify the client certificate on Client Authentication.</p>
-<p>
-The files in this directory have to be PEM-encoded and are accessed through
-hash filenames. So usually you can't just place the Certificate files
-there: you also have to create symbolic links named
-<em>hash-value</em><code>.N</code>. And you should always make sure this directory
-contains the appropriate symbolic links. Use the <code>Makefile</code> which
-comes with mod_ssl to accomplish this task.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCACertificatePath /usr/local/apache/conf/ssl.crt/
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCARevocationFile">SSLCARevocationFile</a> <a name="sslcarevocationfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>File of concatenated PEM-encoded CA CRLs for
-Client Auth</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCARevocationFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the <em>all-in-one</em> file where you can
-assemble the Certificate Revocation Lists (CRL) of Certification
-Authorities (CA) whose <em>clients</em> you deal with. These are used
-for Client Authentication. Such a file is simply the concatenation of
-the various PEM-encoded CRL files, in order of preference. This can be
-used alternatively and/or additionally to <a href="#sslcarevocationpath" class="directive"><code class="directive">SSLCARevocationPath</code></a>.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCARevocationFile /usr/local/apache/conf/ssl.crl/ca-bundle-client.crl
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCARevocationPath">SSLCARevocationPath</a> <a name="sslcarevocationpath">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Directory of PEM-encoded CA CRLs for
-Client Auth</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCARevocationPath <em>directory-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the directory where you keep the Certificate Revocation
-Lists (CRL) of Certification Authorities (CAs) whose clients you deal with.
-These are used to revoke the client certificate on Client Authentication.</p>
-<p>
-The files in this directory have to be PEM-encoded and are accessed through
-hash filenames. So usually you have not only to place the CRL files there.
-Additionally you have to create symbolic links named
-<em>hash-value</em><code>.rN</code>. And you should always make sure this directory
-contains the appropriate symbolic links. Use the <code>Makefile</code> which
-comes with <code><a href="mod_ssl.html">mod_ssl</a></code> to accomplish this task.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCARevocationPath /usr/local/apache/conf/ssl.crl/
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCertificateChainFile">SSLCertificateChainFile</a> <a name="sslcertificatechainfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>File of PEM-encoded Server CA Certificates</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCertificateChainFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the optional <em>all-in-one</em> file where you can
-assemble the certificates of Certification Authorities (CA) which form the
-certificate chain of the server certificate. This starts with the issuing CA
-certificate of of the server certificate and can range up to the root CA
-certificate. Such a file is simply the concatenation of the various
-PEM-encoded CA Certificate files, usually in certificate chain order.</p>
-<p>
-This should be used alternatively and/or additionally to <a href="#sslcacertificatepath" class="directive"><code class="directive">SSLCACertificatePath</code></a> for explicitly
-constructing the server certificate chain which is sent to the browser
-in addition to the server certificate. It is especially useful to
-avoid conflicts with CA certificates when using client
-authentication. Because although placing a CA certificate of the
-server certificate chain into <a href="#sslcacertificatepath" class="directive"><code class="directive">SSLCACertificatePath</code></a> has the same effect
-for the certificate chain construction, it has the side-effect that
-client certificates issued by this same CA certificate are also
-accepted on client authentication. That's usually not one expect.</p>
-<p>
-But be careful: Providing the certificate chain works only if you are using a
-<em>single</em> (either RSA <em>or</em> DSA) based server certificate. If you are
-using a coupled RSA+DSA certificate pair, this will work only if actually both
-certificates use the <em>same</em> certificate chain. Else the browsers will be
-confused in this situation.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/ca.crt
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCertificateFile">SSLCertificateFile</a> <a name="sslcertificatefile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Server PEM-encoded X.509 Certificate file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCertificateFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive points to the PEM-encoded Certificate file for the server and
-optionally also to the corresponding RSA or DSA Private Key file for it
-(contained in the same file). If the contained Private Key is encrypted the
-Pass Phrase dialog is forced at startup time. This directive can be used up to
-two times (referencing different filenames) when both a RSA and a DSA based
-server certificate is used in parallel.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCertificateKeyFile">SSLCertificateKeyFile</a> <a name="sslcertificatekeyfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Server PEM-encoded Private Key file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCertificateKeyFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive points to the PEM-encoded Private Key file for the
-server. If the Private Key is not combined with the Certificate in the
-<code class="directive">SSLCertificateFile</code>, use this additional directive to
-point to the file with the stand-alone Private Key. When
-<code class="directive">SSLCertificateFile</code> is used and the file
-contains both the Certificate and the Private Key this directive need
-not be used. But we strongly discourage this practice. Instead we
-recommend you to separate the Certificate and the Private Key. If the
-contained Private Key is encrypted, the Pass Phrase dialog is forced
-at startup time. This directive can be used up to two times
-(referencing different filenames) when both a RSA and a DSA based
-private key is used in parallel.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLCipherSuite">SSLCipherSuite</a> <a name="sslciphersuite">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Cipher Suite available for negotiation in SSL
-handshake</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLCipherSuite <em>cipher-spec</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This complex directive uses a colon-separated <em>cipher-spec</em> string
-consisting of OpenSSL cipher specifications to configure the Cipher Suite the
-client is permitted to negotiate in the SSL handshake phase. Notice that this
-directive can be used both in per-server and per-directory context. In
-per-server context it applies to the standard SSL handshake when a connection
-is established. In per-directory context it forces a SSL renegotation with the
-reconfigured Cipher Suite after the HTTP request was read but before the HTTP
-response is sent.</p>
-<p>
-An SSL cipher specification in <em>cipher-spec</em> is composed of 4 major
-attributes plus a few extra minor ones:</p>
-<ul>
-<li><em>Key Exchange Algorithm</em>:<br>
- RSA or Diffie-Hellman variants.
-</li>
-<li><em>Authentication Algorithm</em>:<br>
- RSA, Diffie-Hellman, DSS or none.
-</li>
-<li><em>Cipher/Encryption Algorithm</em>:<br>
- DES, Triple-DES, RC4, RC2, IDEA or none.
-</li>
-<li><em>MAC Digest Algorithm</em>:<br>
- MD5, SHA or SHA1.
-</li>
-</ul>
-<p>An SSL cipher can also be an export cipher and is either a SSLv2 or SSLv3/TLSv1
-cipher (here TLSv1 is equivalent to SSLv3). To specify which ciphers to use,
-one can either specify all the Ciphers, one at a time, or use aliases to
-specify the preference and order for the ciphers (see <a href="#table1">Table
-1</a>).</p>
-
-<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
-
-<tr><td bgcolor="#cccccc">
-<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
-<tr><td bgcolor="#ffffff">
-<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
-<tr><td><strong>Tag</strong></td> <td><strong>Description</strong></td></tr>
-<tr><td colspan="2"><em>Key Exchange Algorithm:</em></td></tr>
-<tr><td><code>kRSA</code></td> <td>RSA key exchange</td></tr>
-<tr><td><code>kDHr</code></td> <td>Diffie-Hellman key exchange with RSA key</td></tr>
-<tr><td><code>kDHd</code></td> <td>Diffie-Hellman key exchange with DSA key</td></tr>
-<tr><td><code>kEDH</code></td> <td>Ephemeral (temp.key) Diffie-Hellman key exchange (no cert)</td> </tr>
-<tr><td colspan="2"><em>Authentication Algorithm:</em></td></tr>
-<tr><td><code>aNULL</code></td> <td>No authentication</td></tr>
-<tr><td><code>aRSA</code></td> <td>RSA authentication</td></tr>
-<tr><td><code>aDSS</code></td> <td>DSS authentication</td> </tr>
-<tr><td><code>aDH</code></td> <td>Diffie-Hellman authentication</td></tr>
-<tr><td colspan="2"><em>Cipher Encoding Algorithm:</em></td></tr>
-<tr><td><code>eNULL</code></td> <td>No encoding</td> </tr>
-<tr><td><code>DES</code></td> <td>DES encoding</td> </tr>
-<tr><td><code>3DES</code></td> <td>Triple-DES encoding</td> </tr>
-<tr><td><code>RC4</code></td> <td>RC4 encoding</td> </tr>
-<tr><td><code>RC2</code></td> <td>RC2 encoding</td> </tr>
-<tr><td><code>IDEA</code></td> <td>IDEA encoding</td> </tr>
-<tr><td colspan="2"><em>MAC Digest Algorithm</em>:</td></tr>
-<tr><td><code>MD5</code></td> <td>MD5 hash function</td></tr>
-<tr><td><code>SHA1</code></td> <td>SHA1 hash function</td></tr>
-<tr><td><code>SHA</code></td> <td>SHA hash function</td> </tr>
-<tr><td colspan="2"><em>Aliases:</em></td></tr>
-<tr><td><code>SSLv2</code></td> <td>all SSL version 2.0 ciphers</td></tr>
-<tr><td><code>SSLv3</code></td> <td>all SSL version 3.0 ciphers</td> </tr>
-<tr><td><code>TLSv1</code></td> <td>all TLS version 1.0 ciphers</td> </tr>
-<tr><td><code>EXP</code></td> <td>all export ciphers</td> </tr>
-<tr><td><code>EXPORT40</code></td> <td>all 40-bit export ciphers only</td> </tr>
-<tr><td><code>EXPORT56</code></td> <td>all 56-bit export ciphers only</td> </tr>
-<tr><td><code>LOW</code></td> <td>all low strength ciphers (no export, single DES)</td></tr>
-<tr><td><code>MEDIUM</code></td> <td>all ciphers with 128 bit encryption</td> </tr>
-<tr><td><code>HIGH</code></td> <td>all ciphers using Triple-DES</td> </tr>
-<tr><td><code>RSA</code></td> <td>all ciphers using RSA key exchange</td> </tr>
-<tr><td><code>DH</code></td> <td>all ciphers using Diffie-Hellman key exchange</td> </tr>
-<tr><td><code>EDH</code></td> <td>all ciphers using Ephemeral Diffie-Hellman key exchange</td> </tr>
-<tr><td><code>ADH</code></td> <td>all ciphers using Anonymous Diffie-Hellman key exchange</td> </tr>
-<tr><td><code>DSS</code></td> <td>all ciphers using DSS authentication</td> </tr>
-<tr><td><code>NULL</code></td> <td>all ciphers using no encryption</td> </tr>
-</table>
-</td>
-</tr></table>
-</td></tr></table>
-<p>
-Now where this becomes interesting is that these can be put together
-to specify the order and ciphers you wish to use. To speed this up
-there are also aliases (<code>SSLv2, SSLv3, TLSv1, EXP, LOW, MEDIUM,
-HIGH</code>) for certain groups of ciphers. These tags can be joined
-together with prefixes to form the <em>cipher-spec</em>. Available
-prefixes are:</p>
-<ul>
-<li>none: add cipher to list</li>
-<li><code>+</code>: add ciphers to list and pull them to current location in list</li>
-<li><code>-</code>: remove cipher from list (can be added later again)</li>
-<li><code>!</code>: kill cipher from list completely (can <strong>not</strong> be added later again)</li>
-</ul>
-<p>A simpler way to look at all of this is to use the ``<code>openssl ciphers
--v</code>'' command which provides a nice way to successively create the
-correct <em>cipher-spec</em> string. The default <em>cipher-spec</em> string
-is ``<code>ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP</code>'' which
-means the following: first, remove from consideration any ciphers that do not
-authenticate, i.e. for SSL only the Anonymous Diffie-Hellman ciphers. Next,
-use ciphers using RC4 and RSA. Next include the high, medium and then the low
-security ciphers. Finally <em>pull</em> all SSLv2 and export ciphers to the
-end of the list.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-<pre>
-$ openssl ciphers -v 'ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP'
-NULL-SHA SSLv3 Kx=RSA Au=RSA Enc=None Mac=SHA1
-NULL-MD5 SSLv3 Kx=RSA Au=RSA Enc=None Mac=MD5
-EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
-... ... ... ... ...
-EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
-EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
-EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
-</pre>
-</code></td></tr></table></blockquote>
-<p>The complete list of particular RSA & DH ciphers for SSL is given in <a href="#table2">Table 2</a>.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
-</code></td></tr></table></blockquote>
-<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
-
-<tr><td bgcolor="#cccccc">
-<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
-<tr><td bgcolor="#ffffff">
-<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
-<tr><td><strong>Cipher-Tag</strong></td> <td><strong>Protocol</strong></td> <td><strong>Key Ex.</strong></td> <td><strong>Auth.</strong></td> <td><strong>Enc.</strong></td> <td><strong>MAC</strong></td> <td><strong>Type</strong></td> </tr>
-<tr><td colspan="7"><em>RSA Ciphers:</em></td></tr>
-<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>DES-CBC3-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>IDEA-CBC-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>RC2-CBC-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>RC2(128)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>RC4-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>RC4-64-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>RC4(64)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>DES-CBC-MD5</code></td> <td>SSLv2</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr>
-<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr>
-<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr>
-<tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv2</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr>
-<tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv2</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr>
-<tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td> </td> </tr>
-<tr><td colspan="7"><em>Diffie-Hellman Ciphers:</em></td></tr>
-<tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td> </td> </tr>
-<tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td> </td> </tr>
-<tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr>
-<tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr>
-<tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr>
-<tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr>
-</table>
-</td>
-</tr></table>
-</td></tr></table>
-<hr/><h2><a name="SSLEngine">SSLEngine</a> <a name="sslengine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>SSL Engine Operation Switch</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLEngine on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLEngine off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive toggles the usage of the SSL/TLS Protocol Engine. This
-is usually used inside a <a href="core.html#virtualhost" class="directive"><code class="directive"><VirtualHost></code></a> section to enable SSL/TLS for a
-particular virtual host. By default the SSL/TLS Protocol Engine is
-disabled for both the main server and all configured virtual hosts.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-<VirtualHost _default_:443><br>
-SSLEngine on<br>
-...<br>
-</VirtualHost>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLMutex">SSLMutex</a> <a name="sslmutex">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Semaphore for internal mutual exclusion of
-operations</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLMutex <em>type</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLMutex none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This configures the SSL engine's semaphore (aka. lock) which is used for mutual
-exclusion of operations which have to be done in a synchronized way between the
-pre-forked Apache server processes. This directive can only be used in the
-global server context because it's only useful to have one global mutex.</p>
-<p>
-The following Mutex <em>types</em> are available:</p>
-<ul>
-<li><code>none</code>
- <p>
- This is the default where no Mutex is used at all. Use it at your own
- risk. But because currently the Mutex is mainly used for synchronizing
- write access to the SSL Session Cache you can live without it as long
- as you accept a sometimes garbled Session Cache. So it's not recommended
- to leave this the default. Instead configure a real Mutex.</p></li>
-<li><code>file:/path/to/mutex</code>
- <p>
- This is the portable and (under Unix) always provided Mutex variant where
- a physical (lock-)file is used as the Mutex. Always use a local disk
- filesystem for <code>/path/to/mutex</code> and never a file residing on a
- NFS- or AFS-filesystem. Note: Internally, the Process ID (PID) of the
- Apache parent process is automatically appended to
- <code>/path/to/mutex</code> to make it unique, so you don't have to worry
- about conflicts yourself. Notice that this type of mutex is not available
- under the Win32 environment. There you <em>have</em> to use the semaphore
- mutex.</p></li>
-<li><code>sem</code>
- <p>
- This is the most elegant but also most non-portable Mutex variant where a
- SysV IPC Semaphore (under Unix) and a Windows Mutex (under Win32) is used
- when possible. It is only available when the underlying platform
- supports it.</p></li>
-</ul>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLMutex file:/usr/local/apache/logs/ssl_mutex
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLOptions">SSLOptions</a> <a name="ssloptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configure various SSL engine run-time options</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLOptions [+|-]<em>option</em> ...</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive can be used to control various run-time options on a
-per-directory basis. Normally, if multiple <code>SSLOptions</code>
-could apply to a directory, then the most specific one is taken
-completely; the options are not merged. However if <em>all</em> the
-options on the <code>SSLOptions</code> directive are preceded by a
-plus (<code>+</code>) or minus (<code>-</code>) symbol, the options
-are merged. Any options preceded by a <code>+</code> are added to the
-options currently in force, and any options preceded by a
-<code>-</code> are removed from the options currently in force.</p>
-<p>
-The available <em>option</em>s are:</p>
-<ul>
-<li><code>StdEnvVars</code>
- <p>
- When this option is enabled, the standard set of SSL related CGI/SSI
- environment variables are created. This per default is disabled for
- performance reasons, because the information extraction step is a
- rather expensive operation. So one usually enables this option for
- CGI and SSI requests only.</p>
-</li>
-<li><code>CompatEnvVars</code>
- <p>
- When this option is enabled, additional CGI/SSI environment variables are
- created for backward compatibility to other Apache SSL solutions. Look in
- the <a href="../ssl/ssl_compat.html">Compatibility</a> chapter for details
- on the particular variables generated.</p>
-</li>
-<li><code>ExportCertData</code>
- <p>
- When this option is enabled, additional CGI/SSI environment variables are
- created: <code>SSL_SERVER_CERT</code>, <code>SSL_CLIENT_CERT</code> and
- <code>SSL_CLIENT_CERT_CHAIN</code><em>n</em> (with <em>n</em> = 0,1,2,..).
- These contain the PEM-encoded X.509 Certificates of server and client for
- the current HTTPS connection and can be used by CGI scripts for deeper
- Certificate checking. Additionally all other certificates of the client
- certificate chain are provided, too. This bloats up the environment a
- little bit which is why you have to use this option to enable it on
- demand.</p>
-</li>
-<li><code>FakeBasicAuth</code>
- <p>
- When this option is enabled, the Subject Distinguished Name (DN) of the
- Client X509 Certificate is translated into a HTTP Basic Authorization
- username. This means that the standard Apache authentication methods can
- be used for access control. The user name is just the Subject of the
- Client's X509 Certificate (can be determined by running OpenSSL's
- <code>openssl x509</code> command: <code>openssl x509 -noout -subject -in
- </code><em>certificate</em><code>.crt</code>). Note that no password is
- obtained from the user. Every entry in the user file needs this password:
- ``<code>xxj31ZMTZzkVA</code>'', which is the DES-encrypted version of the
- word `<code>password</code>''. Those who live under MD5-based encryption
- (for instance under FreeBSD or BSD/OS, etc.) should use the following MD5
- hash of the same word: ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p>
-</li>
-<li><code>StrictRequire</code>
- <p>
- This <em>forces</em> forbidden access when <code>SSLRequireSSL</code> or
- <code>SSLRequire</code> successfully decided that access should be
- forbidden. Usually the default is that in the case where a ``<code>Satisfy
- any</code>'' directive is used, and other access restrictions are passed,
- denial of access due to <code>SSLRequireSSL</code> or
- <code>SSLRequire</code> is overridden (because that's how the Apache
- <code>Satisfy</code> mechanism should work.) But for strict access restriction
- you can use <code>SSLRequireSSL</code> and/or <code>SSLRequire</code> in
- combination with an ``<code>SSLOptions +StrictRequire</code>''. Then an
- additional ``<code>Satisfy Any</code>'' has no chance once mod_ssl has
- decided to deny access.</p>
-</li>
-<li><code>OptRenegotiate</code>
- <p>
- This enables optimized SSL connection renegotiation handling when SSL
- directives are used in per-directory context. By default a strict
- scheme is enabled where <em>every</em> per-directory reconfiguration of
- SSL parameters causes a <em>full</em> SSL renegotiation handshake. When this
- option is used mod_ssl tries to avoid unnecessary handshakes by doing more
- granular (but still safe) parameter checks. Nevertheless these granular
- checks sometimes maybe not what the user expects, so enable this on a
- per-directory basis only, please.</p>
-</li>
-</ul>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLOptions +FakeBasicAuth -StrictRequire<br>
-<Files ~ "\.(cgi|shtml)$"><br>
- SSLOptions +StdEnvVars +CompatEnvVars -ExportCertData<br>
-<Files>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLPassPhraseDialog">SSLPassPhraseDialog</a> <a name="sslpassphrasedialog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Type of pass phrase dialog for encrypted private
-keys</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLPassPhraseDialog <em>type</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLPassPhraseDialog builtin</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-When Apache starts up it has to read the various Certificate (see
-<a href="#sslcertificatefile" class="directive"><code class="directive">SSLCertificateFile</code></a>) and
-Private Key (see <a href="#sslcertificatekeyfile" class="directive"><code class="directive">SSLCertificateKeyFile</code></a>) files of the
-SSL-enabled virtual servers. Because for security reasons the Private
-Key files are usually encrypted, mod_ssl needs to query the
-administrator for a Pass Phrase in order to decrypt those files. This
-query can be done in two ways which can be configured by
-<em>type</em>:</p>
-<ul>
-<li><code>builtin</code>
- <p>
- This is the default where an interactive terminal dialog occurs at startup
- time just before Apache detaches from the terminal. Here the administrator
- has to manually enter the Pass Phrase for each encrypted Private Key file.
- Because a lot of SSL-enabled virtual hosts can be configured, the
- following reuse-scheme is used to minimize the dialog: When a Private Key
- file is encrypted, all known Pass Phrases (at the beginning there are
- none, of course) are tried. If one of those known Pass Phrases succeeds no
- dialog pops up for this particular Private Key file. If none succeeded,
- another Pass Phrase is queried on the terminal and remembered for the next
- round (where it perhaps can be reused).</p>
- <p>
- This scheme allows mod_ssl to be maximally flexible (because for N encrypted
- Private Key files you <em>can</em> use N different Pass Phrases - but then
- you have to enter all of them, of course) while minimizing the terminal
- dialog (i.e. when you use a single Pass Phrase for all N Private Key files
- this Pass Phrase is queried only once).</p></li>
-
-<li><code>exec:/path/to/program</code>
- <p>
- Here an external program is configured which is called at startup for each
- encrypted Private Key file. It is called with two arguments (the first is
- of the form ``<code>servername:portnumber</code>'', the second is either
- ``<code>RSA</code>'' or ``<code>DSA</code>''), which indicate for which
- server and algorithm it has to print the corresponding Pass Phrase to
- <code>stdout</code>. The intent is that this external program first runs
- security checks to make sure that the system is not compromised by an
- attacker, and only when these checks were passed successfully it provides
- the Pass Phrase.</p>
- <p>
- Both these security checks, and the way the Pass Phrase is determined, can
- be as complex as you like. Mod_ssl just defines the interface: an
- executable program which provides the Pass Phrase on <code>stdout</code>.
- Nothing more or less! So, if you're really paranoid about security, here
- is your interface. Anything else has to be left as an exercise to the
- administrator, because local security requirements are so different.</p>
- <p>
- The reuse-algorithm above is used here, too. In other words: The external
- program is called only once per unique Pass Phrase.</p></li>
-</ul>
-<p>
-Example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLProtocol">SSLProtocol</a> <a name="sslprotocol">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configure usable SSL protocol flavors</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLProtocol [+|-]<em>protocol</em> ...</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLProtocol all</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>Options</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive can be used to control the SSL protocol flavors mod_ssl should
-use when establishing its server environment. Clients then can only connect
-with one of the provided protocols.</p>
-<p>
-The available (case-insensitive) <em>protocol</em>s are:</p>
-<ul>
-<li><code>SSLv2</code>
- <p>
- This is the Secure Sockets Layer (SSL) protocol, version 2.0. It is the
- original SSL protocol as designed by Netscape Corporation.</p></li>
-
-<li><code>SSLv3</code>
- <p>
- This is the Secure Sockets Layer (SSL) protocol, version 3.0. It is the
- successor to SSLv2 and the currently (as of February 1999) de-facto
- standardized SSL protocol from Netscape Corporation. It's supported by
- almost all popular browsers.</p></li>
-
-<li><code>TLSv1</code>
- <p>
- This is the Transport Layer Security (TLS) protocol, version 1.0. It is the
- successor to SSLv3 and currently (as of February 1999) still under
- construction by the Internet Engineering Task Force (IETF). It's still
- not supported by any popular browsers.</p></li>
-
-<li><code>All</code>
- <p>
- This is a shortcut for ``<code>+SSLv2 +SSLv3 +TLSv1</code>'' and a
- convinient way for enabling all protocols except one when used in
- combination with the minus sign on a protocol as the example above
- shows.</p></li>
-</ul>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-# enable SSLv3 and TLSv1, but not SSLv2<br>
-SSLProtocol all -SSLv2
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLRandomSeed">SSLRandomSeed</a> <a name="sslrandomseed">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Pseudo Random Number Generator (PRNG) seeding
-source</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLRandomSeed <em>context</em> <em>source</em>
-[<em>bytes</em>]</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This configures one or more sources for seeding the Pseudo Random Number
-Generator (PRNG) in OpenSSL at startup time (<em>context</em> is
-<code>startup</code>) and/or just before a new SSL connection is established
-(<em>context</em> is <code>connect</code>). This directive can only be used
-in the global server context because the PRNG is a global facility.</p>
-<p>
-The following <em>source</em> variants are available:</p>
-<ul>
-<li><code>builtin</code>
- <p> This is the always available builtin seeding source. It's usage
- consumes minimum CPU cycles under runtime and hence can be always used
- without drawbacks. The source used for seeding the PRNG contains of the
- current time, the current process id and (when applicable) a randomly
- choosen 1KB extract of the inter-process scoreboard structure of Apache.
- The drawback is that this is not really a strong source and at startup
- time (where the scoreboard is still not available) this source just
- produces a few bytes of entropy. So you should always, at least for the
- startup, use an additional seeding source.</p></li>
-<li><code>file:/path/to/source</code>
- <p>
- This variant uses an external file <code>/path/to/source</code> as the
- source for seeding the PRNG. When <em>bytes</em> is specified, only the
- first <em>bytes</em> number of bytes of the file form the entropy (and
- <em>bytes</em> is given to <code>/path/to/source</code> as the first
- argument). When <em>bytes</em> is not specified the whole file forms the
- entropy (and <code>0</code> is given to <code>/path/to/source</code> as
- the first argument). Use this especially at startup time, for instance
- with an available <code>/dev/random</code> and/or
- <code>/dev/urandom</code> devices (which usually exist on modern Unix
- derivates like FreeBSD and Linux).</p>
- <p>
- <em>But be careful</em>: Usually <code>/dev/random</code> provides only as
- much entropy data as it actually has, i.e. when you request 512 bytes of
- entropy, but the device currently has only 100 bytes available two things
- can happen: On some platforms you receive only the 100 bytes while on
- other platforms the read blocks until enough bytes are available (which
- can take a long time). Here using an existing <code>/dev/urandom</code> is
- better, because it never blocks and actually gives the amount of requested
- data. The drawback is just that the quality of the received data may not
- be the best.</p>
- <p>
- On some platforms like FreeBSD one can even control how the entropy is
- actually generated, i.e. by which system interrupts. More details one can
- find under <em>rndcontrol(8)</em> on those platforms. Alternatively, when
- your system lacks such a random device, you can use tool
- like <a href="http://www.lothar.com/tech/crypto/">EGD</a>
- (Entropy Gathering Daemon) and run it's client program with the
- <code>exec:/path/to/program/</code> variant (see below) or use
- <code>egd:/path/to/egd-socket</code> (see below).</p></li>
-
-<li><code>exec:/path/to/program</code>
- <p>
- This variant uses an external executable
- <code>/path/to/program</code> as the source for seeding the
- PRNG. When <em>bytes</em> is specified, only the first
- <em>bytes</em> number of bytes of its <code>stdout</code> contents
- form the entropy. When <em>bytes</em> is not specified, the
- entirety of the data produced on <code>stdout</code> form the
- entropy. Use this only at startup time when you need a very strong
- seeding with the help of an external program (for instance as in
- the example above with the <code>truerand</code> utility you can
- find in the mod_ssl distribution which is based on the AT&T
- <em>truerand</em> library). Using this in the connection context
- slows down the server too dramatically, of course. So usually you
- should avoid using external programs in that context.</p></li>
-<li><code>egd:/path/to/egd-socket</code> (Unix only)
- <p>
- This variant uses the Unix domain socket of the
- external Entropy Gathering Daemon (EGD) (see <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech
- /crypto/</a>) to seed the PRNG. Use this if no random device exists
- on your platform.</p></li>
-</ul>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLRandomSeed startup builtin<br>
-SSLRandomSeed startup file:/dev/random<br>
-SSLRandomSeed startup file:/dev/urandom 1024<br>
-SSLRandomSeed startup exec:/usr/local/bin/truerand 16<br>
-SSLRandomSeed connect builtin<br>
-SSLRandomSeed connect file:/dev/random<br>
-SSLRandomSeed connect file:/dev/urandom 1024<br>
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLRequire">SSLRequire</a> <a name="sslrequire">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Allow access only when an arbitrarily complex
-boolean expression is true</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLRequire <em>expression</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive specifies a general access requirement which has to be
-fulfilled in order to allow access. It's a very powerful directive because the
-requirement specification is an arbitrarily complex boolean expression
-containing any number of access checks.</p>
-<p>
-The <em>expression</em> must match the following syntax (given as a BNF
-grammar notation):</p>
-<blockquote>
-<pre>
-expr ::= "<strong>true</strong>" | "<strong>false</strong>"
- | "<strong>!</strong>" expr
- | expr "<strong>&&</strong>" expr
- | expr "<strong>||</strong>" expr
- | "<strong>(</strong>" expr "<strong>)</strong>"
- | comp
-
-comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word
- | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word
- | word "<strong><</strong>" word | word "<strong>lt</strong>" word
- | word "<strong><=</strong>" word | word "<strong>le</strong>" word
- | word "<strong>></strong>" word | word "<strong>gt</strong>" word
- | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word
- | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>"
- | word "<strong>=~</strong>" regex
- | word "<strong>!~</strong>" regex
-
-wordlist ::= word
- | wordlist "<strong>,</strong>" word
-
-word ::= digit
- | cstring
- | variable
- | function
-
-digit ::= [0-9]+
-cstring ::= "..."
-variable ::= "<strong>%{</strong>" varname "<strong>}</strong>"
-function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"
-</pre>
-</blockquote>
-<p>while for <code>varname</code> any variable from <a href="#table3">Table 3</a> can be used. Finally for
-<code>funcname</code> the following functions are available:</p>
-<ul>
-<li><code>file(</code><em>filename</em><code>)</code>
- <p>
- This function takes one string argument and expands to the contents of the
- file. This is especially useful for matching this contents against a
- regular expression, etc.</p>
-</li>
-</ul>
-<p>Notice that <em>expression</em> is first parsed into an internal machine
-representation and then evaluated in a second step. Actually, in Global and
-Per-Server Class context <em>expression</em> is parsed at startup time and
-at runtime only the machine representation is executed. For Per-Directory
-context this is different: here <em>expression</em> has to be parsed and
-immediately executed for every request.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \<br>
- and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \<br>
- and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \<br>
- and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \<br>
- and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \<br>
- or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-</code></td></tr></table></blockquote>
-<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
-
-<tr><td bgcolor="#cccccc">
-<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
-<tr><td bgcolor="#ffffff">
-<table summary=""><tr><td>
-<em>Standard CGI/1.0 and Apache variables:</em>
-<pre>
-HTTP_USER_AGENT PATH_INFO AUTH_TYPE
-HTTP_REFERER QUERY_STRING SERVER_SOFTWARE
-HTTP_COOKIE REMOTE_HOST API_VERSION
-HTTP_FORWARDED REMOTE_IDENT TIME_YEAR
-HTTP_HOST IS_SUBREQ TIME_MON
-HTTP_PROXY_CONNECTION DOCUMENT_ROOT TIME_DAY
-HTTP_ACCEPT SERVER_ADMIN TIME_HOUR
-HTTP:headername SERVER_NAME TIME_MIN
-THE_REQUEST SERVER_PORT TIME_SEC
-REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY
-REQUEST_SCHEME REMOTE_ADDR TIME
-REQUEST_URI REMOTE_USER ENV:<strong>variablename</strong>
-REQUEST_FILENAME
-</pre>
-<em>SSL-related variables:</em>
-<pre>
-HTTPS SSL_CLIENT_M_VERSION SSL_SERVER_M_VERSION
- SSL_CLIENT_M_SERIAL SSL_SERVER_M_SERIAL
-SSL_PROTOCOL SSL_CLIENT_V_START SSL_SERVER_V_START
-SSL_SESSION_ID SSL_CLIENT_V_END SSL_SERVER_V_END
-SSL_CIPHER SSL_CLIENT_S_DN SSL_SERVER_S_DN
-SSL_CIPHER_EXPORT SSL_CLIENT_S_DN_C SSL_SERVER_S_DN_C
-SSL_CIPHER_ALGKEYSIZE SSL_CLIENT_S_DN_ST SSL_SERVER_S_DN_ST
-SSL_CIPHER_USEKEYSIZE SSL_CLIENT_S_DN_L SSL_SERVER_S_DN_L
-SSL_VERSION_LIBRARY SSL_CLIENT_S_DN_O SSL_SERVER_S_DN_O
-SSL_VERSION_INTERFACE SSL_CLIENT_S_DN_OU SSL_SERVER_S_DN_OU
- SSL_CLIENT_S_DN_CN SSL_SERVER_S_DN_CN
- SSL_CLIENT_S_DN_T SSL_SERVER_S_DN_T
- SSL_CLIENT_S_DN_I SSL_SERVER_S_DN_I
- SSL_CLIENT_S_DN_G SSL_SERVER_S_DN_G
- SSL_CLIENT_S_DN_S SSL_SERVER_S_DN_S
- SSL_CLIENT_S_DN_D SSL_SERVER_S_DN_D
- SSL_CLIENT_S_DN_UID SSL_SERVER_S_DN_UID
- SSL_CLIENT_S_DN_Email SSL_SERVER_S_DN_Email
- SSL_CLIENT_I_DN SSL_SERVER_I_DN
- SSL_CLIENT_I_DN_C SSL_SERVER_I_DN_C
- SSL_CLIENT_I_DN_ST SSL_SERVER_I_DN_ST
- SSL_CLIENT_I_DN_L SSL_SERVER_I_DN_L
- SSL_CLIENT_I_DN_O SSL_SERVER_I_DN_O
- SSL_CLIENT_I_DN_OU SSL_SERVER_I_DN_OU
- SSL_CLIENT_I_DN_CN SSL_SERVER_I_DN_CN
- SSL_CLIENT_I_DN_T SSL_SERVER_I_DN_T
- SSL_CLIENT_I_DN_I SSL_SERVER_I_DN_I
- SSL_CLIENT_I_DN_G SSL_SERVER_I_DN_G
- SSL_CLIENT_I_DN_S SSL_SERVER_I_DN_S
- SSL_CLIENT_I_DN_D SSL_SERVER_I_DN_D
- SSL_CLIENT_I_DN_UID SSL_SERVER_I_DN_UID
- SSL_CLIENT_I_DN_Email SSL_SERVER_I_DN_Email
- SSL_CLIENT_A_SIG SSL_SERVER_A_SIG
- SSL_CLIENT_A_KEY SSL_SERVER_A_KEY
- SSL_CLIENT_CERT SSL_SERVER_CERT
- SSL_CLIENT_CERT_CHAIN<strong>n</strong>
- SSL_CLIENT_VERIFY
-</pre>
-</td></tr></table>
-</td>
-</tr></table>
-</td></tr></table>
-<hr/><h2><a name="SSLRequireSSL">SSLRequireSSL</a> <a name="sslrequiressl">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Deny access when SSL is not used for the
-HTTP request</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLRequireSSL</td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive forbids access unless HTTP over SSL (i.e. HTTPS) is enabled for
-the current connection. This is very handy inside the SSL-enabled virtual
-host or directories for defending against configuration errors that expose
-stuff that should be protected. When this directive is present all requests
-are denied which are not using SSL.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLRequireSSL
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLSessionCache">SSLSessionCache</a> <a name="sslsessioncache">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Type of the global/inter-process SSL Session
-Cache</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLSessionCache <em>type</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLSessionCache none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This configures the storage type of the global/inter-process SSL Session
-Cache. This cache is an optional facility which speeds up parallel request
-processing. For requests to the same server process (via HTTP keep-alive),
-OpenSSL already caches the SSL session information locally. But because modern
-clients request inlined images and other data via parallel requests (usually
-up to four parallel requests are common) those requests are served by
-<em>different</em> pre-forked server processes. Here an inter-process cache
-helps to avoid unneccessary session handshakes.</p>
-<p>
-The following two storage <em>type</em>s are currently supported:</p>
-<ul>
-<li><code>none</code>
- <p>
- This is the default and just disables the global/inter-process Session
- Cache. There is no drawback in functionality, but a noticeable speed
- penalty can be observed.</p></li>
-<li><code>dbm:/path/to/datafile</code>
- <p>
- This makes use of a DBM hashfile on the local disk to synchronize the
- local OpenSSL memory caches of the server processes. The slight increase
- in I/O on the server results in a visible request speedup for your
- clients, so this type of storage is generally recommended.</p></li>
-<li><code>shm:/path/to/datafile</code>[<code>(</code><em>size</em><code>)</code>]
- <p>
- This makes use of a high-performance hash table (approx. <em>size</em> bytes
- in size) inside a shared memory segment in RAM (established via
- <code>/path/to/datafile</code>) to synchronize the local OpenSSL memory
- caches of the server processes. This storage type is not available on all
- platforms. See the mod_ssl <code>INSTALL</code> document for details on
- how to build Apache+EAPI with shared memory support.</p></li>
-</ul>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Examples</strong></p><code>
-SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data<br>
-SSLSessionCache shm:/usr/local/apache/logs/ssl_gcache_data(512000)
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLSessionCacheTimeout">SSLSessionCacheTimeout</a> <a name="sslsessioncachetimeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Number of seconds before an SSL session expires
-in the Session Cache</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLSessionCacheTimeout <em>seconds</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLSessionCacheTimeout 300</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the timeout in seconds for the information stored in the
-global/inter-process SSL Session Cache and the OpenSSL internal memory cache.
-It can be set as low as 15 for testing, but should be set to higher
-values like 300 in real life.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLSessionCacheTimeout 600
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLVerifyClient">SSLVerifyClient</a> <a name="sslverifyclient">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Type of Client Certificate verification</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLVerifyClient <em>level</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLVerifyClient none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets the Certificate verification level for the Client
-Authentication. Notice that this directive can be used both in per-server and
-per-directory context. In per-server context it applies to the client
-authentication process used in the standard SSL handshake when a connection is
-established. In per-directory context it forces a SSL renegotation with the
-reconfigured client verification level after the HTTP request was read but
-before the HTTP response is sent.</p>
-<p>
-The following levels are available for <em>level</em>:</p>
-<ul>
-<li><strong>none</strong>:
- no client Certificate is required at all</li>
-<li><strong>optional</strong>:
- the client <em>may</em> present a valid Certificate</li>
-<li><strong>require</strong>:
- the client <em>has to</em> present a valid Certificate</li>
-<li><strong>optional_no_ca</strong>:
- the client may present a valid Certificate<br>
- but it need not to be (successfully) verifiable.</li>
-</ul>
-<p>In practice only levels <strong>none</strong> and
-<strong>require</strong> are really interesting, because level
-<strong>optional</strong> doesn't work with all browsers and level
-<strong>optional_no_ca</strong> is actually against the idea of
-authentication (but can be used to establish SSL test pages, etc.)</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLVerifyClient require
-</code></td></tr></table></blockquote>
-<hr/><h2><a name="SSLVerifyDepth">SSLVerifyDepth</a> <a name="sslverifydepth">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum depth of CA Certificates in Client
-Certificate verification</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SSLVerifyDepth <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSLVerifyDepth 1</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>AuthConfig</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_ssl</td></tr></table></td></tr></table>
-<p>
-This directive sets how deeply mod_ssl should verify before deciding that the
-clients don't have a valid certificate. Notice that this directive can be
-used both in per-server and per-directory context. In per-server context it
-applies to the client authentication process used in the standard SSL
-handshake when a connection is established. In per-directory context it forces
-a SSL renegotation with the reconfigured client verification depth after the
-HTTP request was read but before the HTTP response is sent.</p>
-<p>
-The depth actually is the maximum number of intermediate certificate issuers,
-i.e. the number of CA certificates which are max allowed to be followed while
-verifying the client certificate. A depth of 0 means that self-signed client
-certificates are accepted only, the default depth of 1 means the client
-certificate can be self-signed or has to be signed by a CA which is directly
-known to the server (i.e. the CA's certificate is under
-<a href="#sslcacertificatepath" class="directive"><code class="directive">SSLCACertificatePath</code></a>), etc.</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
-SSLVerifyDepth 10
-</code></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_status- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_status</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides information on server activity and
-performance</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>status_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- <strong>Warning:</strong> This document has not been updated
- to take into account changes made in the 2.0 version of the
- Apache HTTP Server. Some of the information may still be
- relevant, but please use it with care.
-</td></tr></table></blockquote>
-
- <p>The Status module allows a server administrator to find out
- how well their server is performing. A HTML page is presented
- that gives the current server statistics in an easily readable
- form. If required this page can be made to automatically
- refresh (given a compatible browser). Another page gives a
- simple machine-readable list of the current server state.</p>
-
- <p>The details given are:</p>
-
- <ul>
- <li>The number of children serving requests</li>
-
- <li>The number of idle children</li>
-
- <li>The status of each child, the number of requests that
- child has performed and the total number of bytes served by
- the child (*)</li>
-
- <li>A total number of accesses and byte count served (*)</li>
-
- <li>The time the server was started/restarted and the time it
- has been running for</li>
-
- <li>Averages giving the number of requests per second, the
- number of bytes served per second and the average number of
- bytes per request (*)</li>
-
- <li>The current percentage CPU used by each child and in
- total by Apache (*)</li>
-
- <li>The current hosts and requests being processed (*)</li>
- </ul>
-
- <p>A compile-time option must be used to display the details
- marked "(*)" as the instrumentation required for obtaining
- these statistics does not exist within standard Apache.</p>
-<h2>Directives</h2><ul><li><a href="#extendedstatus">ExtendedStatus</a></li></ul><h2>Enabling Status Support</h2>
-
-
- <p>To enable status reports only for browsers from the foo.com
- domain add this code to your <code>httpd.conf</code>
- configuration file</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- <Location /server-status><br>
- SetHandler server-status<br>
-<br>
- Order Deny,Allow<br>
- Deny from all<br>
- Allow from .foo.com<br>
- </Location>
-</code></td></tr></table></blockquote>
-
- <p>You can now access server statistics by using a Web browser
- to access the page
- <code>http://your.server.name/server-status</code></p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5"><p>Note that <code><a href="mod_status.html">mod_status</a></code> will only work
- when you are running Apache in <a href="core.html#servertype">standalone</a> mode and not
- <a href="core.html#servertype">inetd</a> mode.</p></td></tr></table></blockquote>
-<h2>Automatic Updates</h2>
-
-
- <p>You can get the status page to update itself automatically if
- you have a browser that supports "refresh". Access the page
- <code>http://your.server.name/server-status?refresh=N</code> to
- refresh the page every N seconds.</p>
-
-<h2>Machine Readable Status File</h2>
-
-
- <p>A machine-readable version of the status file is available by
- accessing the page
- <code>http://your.server.name/server-status?auto</code>. This
- is useful when automatically run, see the Perl program in the
- <code>/support</code> directory of Apache,
- <code>log_server_status</code>.</p>
-
- <blockquote><table><tr><td bgcolor="#e0e5f5">
- <strong>It should be noted that if <code><a href="mod_status.html">mod_status</a></code> is
- compiled into the server, its handler capability is available
- in <em>all</em> configuration files, including
- <em>per</em>-directory files (<em>e.g.</em>,
- <code>.htaccess</code>). This may have security-related
- ramifications for your site.</strong>
- </td></tr></table></blockquote>
-
-<hr/><h2><a name="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>This directive controls whether the server keeps track of
-extended status information for each request. This is only
-useful if the status module is enabled on the server.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ExtendedStatus On|Off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ExtendedStatus Off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_status</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>ExtendedStatus is only available in Apache 1.3.2 and
-later.</td></tr></table></td></tr></table>
- <p>This setting applies to the entire server, and cannot be
- enabled or disabled on a virtualhost-by-virtualhost basis.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_suexec- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_suexec</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Allows CGI scripts to run as a specified user
-and Group</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>suexec_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 2.0 and later</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This module allows CGI scripts to run as a specified user
- and Group.</p>
-<h2>Directives</h2><ul><li><a href="#suexecusergroup">SuexecUserGroup</a></li></ul><hr/><h2><a name="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SuexecUserGroup <em>User Group</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_suexec</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>SuexecUserGroup is only available in 2.0 and
-later.</td></tr></table></td></tr></table>
- <p>The <code class="directive">SuexecUserGroup</code> directive allows you to
- specify a user and group for CGI programs to run as. Non-CGI
- requests are still processes with the user specified in the
- User directive. This directive replaces using the User and
- Group directives inside of VirtualHosts.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_suexec- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_suexec</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>指定されたユーザとグループで CGI スクリプトを実行する</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>拡張</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>suexec_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Apache 2.0 以降で使用可能</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>このモジュールは CGI スクリプトが指定されたユーザとグループで
- 実行されるようにできます。</p>
-<h2>Directives</h2><ul><li><a href="#suexecusergroup">SuexecUserGroup</a></li></ul><hr/><h2><a name="SuexecUserGroup">SuexecUserGroup</a> <a name="suexecusergroup">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SuexecUserGroup <em>User Group</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>サーバ設定ファイル, バーチャルホスト</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>拡張</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_suexec</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>SuexecUserGroup は 2.0 以降でのみ使用可能。</td></tr></table></td></tr></table>
- <p><code class="directive">SuexecUserGroup</code> ディレクティブは CGI プログラム
- が実行されるユーザとグループを指定できるようにします。CGI 以外の
- リクエストは User ディレクティブで指定されたユーザのままで処理されます。
- このディレクティブは VirtualHosts の中で User ディレクティブと
- Group ディレクティブを使う用法の代わりになります。</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_unique_id- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_unique_id</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides an environment variable with a unique
-identifier for each request</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>unique_id_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>This module provides a magic token for each request which is
- guaranteed to be unique across "all" requests under very
- specific conditions. The unique identifier is even unique
- across multiple machines in a properly configured cluster of
- machines. The environment variable <code>UNIQUE_ID</code> is
- set to the identifier for each request. Unique identifiers are
- useful for various reasons which are beyond the scope of this
- document.</p>
-<h2>Directives</h2><p/><h2>Theory</h2>
-
-
- <p>First a brief recap of how the Apache server works on Unix
- machines. This feature currently isn't supported on Windows NT.
- On Unix machines, Apache creates several children, the children
- process requests one at a time. Each child can serve multiple
- requests in its lifetime. For the purpose of this discussion,
- the children don't share any data with each other. We'll refer
- to the children as httpd processes.</p>
-
- <p>Your website has one or more machines under your
- administrative control, together we'll call them a cluster of
- machines. Each machine can possibly run multiple instances of
- Apache. All of these collectively are considered "the
- universe", and with certain assumptions we'll show that in this
- universe we can generate unique identifiers for each request,
- without extensive communication between machines in the
- cluster.</p>
-
- <p>The machines in your cluster should satisfy these
- requirements. (Even if you have only one machine you should
- synchronize its clock with NTP.)</p>
-
- <ul>
- <li>The machines' times are synchronized via NTP or other
- network time protocol.</li>
-
- <li>The machines' hostnames all differ, such that the module
- can do a hostname lookup on the hostname and receive a
- different IP address for each machine in the cluster.</li>
- </ul>
-
- <p>As far as operating system assumptions go, we assume that
- pids (process ids) fit in 32-bits. If the operating system uses
- more than 32-bits for a pid, the fix is trivial but must be
- performed in the code.</p>
-
- <p>Given those assumptions, at a single point in time we can
- identify any httpd process on any machine in the cluster from
- all other httpd processes. The machine's IP address and the pid
- of the httpd process are sufficient to do this. So in order to
- generate unique identifiers for requests we need only
- distinguish between different points in time.</p>
-
- <p>To distinguish time we will use a Unix timestamp (seconds
- since January 1, 1970 UTC), and a 16-bit counter. The timestamp
- has only one second granularity, so the counter is used to
- represent up to 65536 values during a single second. The
- quadruple <em>( ip_addr, pid, time_stamp, counter )</em> is
- sufficient to enumerate 65536 requests per second per httpd
- process. There are issues however with pid reuse over time, and
- the counter is used to alleviate this issue.</p>
-
- <p>When an httpd child is created, the counter is initialized
- with ( current microseconds divided by 10 ) modulo 65536 (this
- formula was chosen to eliminate some variance problems with the
- low order bits of the microsecond timers on some systems). When
- a unique identifier is generated, the time stamp used is the
- time the request arrived at the web server. The counter is
- incremented every time an identifier is generated (and allowed
- to roll over).</p>
-
- <p>The kernel generates a pid for each process as it forks the
- process, and pids are allowed to roll over (they're 16-bits on
- many Unixes, but newer systems have expanded to 32-bits). So
- over time the same pid will be reused. However unless it is
- reused within the same second, it does not destroy the
- uniqueness of our quadruple. That is, we assume the system does
- not spawn 65536 processes in a one second interval (it may even
- be 32768 processes on some Unixes, but even this isn't likely
- to happen).</p>
-
- <p>Suppose that time repeats itself for some reason. That is,
- suppose that the system's clock is screwed up and it revisits a
- past time (or it is too far forward, is reset correctly, and
- then revisits the future time). In this case we can easily show
- that we can get pid and time stamp reuse. The choice of
- initializer for the counter is intended to help defeat this.
- Note that we really want a random number to initialize the
- counter, but there aren't any readily available numbers on most
- systems (<em>i.e.</em>, you can't use rand() because you need
- to seed the generator, and can't seed it with the time because
- time, at least at one second resolution, has repeated itself).
- This is not a perfect defense.</p>
-
- <p>How good a defense is it? Suppose that one of your machines
- serves at most 500 requests per second (which is a very
- reasonable upper bound at this writing, because systems
- generally do more than just shovel out static files). To do
- that it will require a number of children which depends on how
- many concurrent clients you have. But we'll be pessimistic and
- suppose that a single child is able to serve 500 requests per
- second. There are 1000 possible starting counter values such
- that two sequences of 500 requests overlap. So there is a 1.5%
- chance that if time (at one second resolution) repeats itself
- this child will repeat a counter value, and uniqueness will be
- broken. This was a very pessimistic example, and with real
- world values it's even less likely to occur. If your system is
- such that it's still likely to occur, then perhaps you should
- make the counter 32 bits (by editing the code).</p>
-
- <p>You may be concerned about the clock being "set back" during
- summer daylight savings. However this isn't an issue because
- the times used here are UTC, which "always" go forward. Note
- that x86 based Unixes may need proper configuration for this to
- be true -- they should be configured to assume that the
- motherboard clock is on UTC and compensate appropriately. But
- even still, if you're running NTP then your UTC time will be
- correct very shortly after reboot.</p>
-
- <p>The <code>UNIQUE_ID</code> environment variable is
- constructed by encoding the 112-bit (32-bit IP address, 32 bit
- pid, 32 bit time stamp, 16 bit counter) quadruple using the
- alphabet <code>[A-Za-z0-9@-]</code> in a manner similar to MIME
- base64 encoding, producing 19 characters. The MIME base64
- alphabet is actually <code>[A-Za-z0-9+/]</code> however
- <code>+</code> and <code>/</code> need to be specially encoded
- in URLs, which makes them less desirable. All values are
- encoded in network byte ordering so that the encoding is
- comparable across architectures of different byte ordering. The
- actual ordering of the encoding is: time stamp, IP address,
- pid, counter. This ordering has a purpose, but it should be
- emphasized that applications should not dissect the encoding.
- Applications should treat the entire encoded
- <code>UNIQUE_ID</code> as an opaque token, which can be
- compared against other <code>UNIQUE_ID</code>s for equality
- only.</p>
-
- <p>The ordering was chosen such that it's possible to change
- the encoding in the future without worrying about collision
- with an existing database of <code>UNIQUE_ID</code>s. The new
- encodings should also keep the time stamp as the first element,
- and can otherwise use the same alphabet and bit length. Since
- the time stamps are essentially an increasing sequence, it's
- sufficient to have a <em>flag second</em> in which all machines
- in the cluster stop serving and request, and stop using the old
- encoding format. Afterwards they can resume requests and begin
- issuing the new encodings.</p>
-
- <p>This we believe is a relatively portable solution to this
- problem. It can be extended to multithreaded systems like
- Windows NT, and can grow with future needs. The identifiers
- generated have essentially an infinite life-time because future
- identifiers can be made longer as required. Essentially no
- communication is required between machines in the cluster (only
- NTP synchronization is required, which is low overhead), and no
- communication between httpd processes is required (the
- communication is implicit in the pid value assigned by the
- kernel). In very specific situations the identifier can be
- shortened, but more information needs to be assumed (for
- example the 32-bit IP address is overkill for any site, but
- there is no portable shorter replacement for it). </p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_userdir- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_userdir</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for user-specific
-directories</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>userdir_module</td></tr></table></td></tr></table><h2>Summary</h2>
-<h2>Directives</h2><ul><li><a href="#userdir">UserDir</a></li></ul><hr/><h2><a name="UserDir">UserDir</a> <a name="userdir">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the directory from which to serve files when requests
-for a particular user are received, denoted by requests containing
-~username, such as
-http://server.example.com/~bob/</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>UserDir <em>directory-filename</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>UserDir public_html</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual
-host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_userdir</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>All forms except the UserDir public_html
-form are only available in Apache 1.1 or above. Use of the
-enabled keyword, or disabled with a
-list of usernames, is only available in Apache 1.3 and
-above.</td></tr></table></td></tr></table>
-
- <p>The <code class="directive">UserDir</code> directive sets the real
- directory in a user's home directory to use when a request for a
- document for a user is received. <em>Directory-filename</em> is
- one of the following:</p>
-
- <ul>
- <li>The name of a directory or a pattern such as those shown
- below.</li>
-
- <li>The keyword <code>disabled</code>. This turns off
- <em>all</em> username-to-directory translations except those
- explicitly named with the <code>enabled</code> keyword (see
- below).</li>
-
- <li>The keyword <code>disabled</code> followed by a
- space-delimited list of usernames. Usernames that appear in
- such a list will <em>never</em> have directory translation
- performed, even if they appear in an <code>enabled</code>
- clause.</li>
-
- <li>The keyword <code>enabled</code> followed by a
- space-delimited list of usernames. These usernames will have
- directory translation performed even if a global disable is
- in effect, but not if they also appear in a
- <code>disabled</code> clause.</li>
- </ul>
-
- <p>If neither the <code>enabled</code> nor the
- <code>disabled</code> keywords appear in the
- <code>Userdir</code> directive, the argument is treated as a
- filename pattern, and is used to turn the name into a directory
- specification. A request for
- <code>http://www.foo.com/~bob/one/two.html</code> will be
- translated to:</p>
-
-<table>
-<tr><th>UserDir directive used</th>
-<th>Translated path</th></tr>
-<tr><td>UserDir public_html</td><td>~bob/public_html/one/two.html</td></tr>
-<tr><td>UserDir /usr/web</td><td>/usr/web/bob/one/two.html</td></tr>
-<tr><td>UserDir /home/*/www</td><td>/home/bob/www/one/two.html</td></tr>
-</table>
-
- <p>The following directives will send redirects to the client:</p>
-
-<table>
-<tr><th>UserDir directive used</th>
-<th>Translated path</th></tr>
-<tr><td>UserDir http://www.foo.com/users</td><td>http://www.foo.com/users/bob/one/two.html</td></tr>
-<tr><td>UserDir
-http://www.foo.com/*/usr</td><td>http://www.foo.com/bob/usr/one/two.html</td></tr>
-<tr><td>UserDir
-http://www.foo.com/~*/</td><td>http://www.foo.com/~bob/one/two.html</td></tr>
-</table>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5">
- <strong>Be careful when using this directive; for instance,
- <code>"UserDir ./"</code> would map
- <code>"/~root"</code> to <code>"/"</code> - which is probably
- undesirable. If you are running Apache 1.3 or above, it is
- strongly recommended that your configuration include a
- "<code>UserDir disabled root</code>" declaration.
- See also the <a href="core.html#directory" class="directive"><code class="directive">Directory</code></a>
- directive and the <a href="../misc/security_tips.html">Security
- Tips</a> page for more information.</strong>
-</td></tr></table></blockquote>
-
-<p>Additional examples:</p>
-
-<p>To allow a few users to have <code>UserDir</code> directories, but
-not anyone else, use the following:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-UserDir disabled<br>
-UserDir enabled user1 user2 user3
-</code></td></tr></table></blockquote>
-
-<p>To allow most users to have <code>UserDir</code> directories, but
-deny this to a few, use the following:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-UserDir enabled<br>
-UserDir disabled user4 user5 user6
-</code></td></tr></table></blockquote>
-
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_usertrack- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_usertrack</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>
- This module uses cookies to provide for a
- <em>clickstream</em> log of user activity on a site.
-</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>usertrack_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Known as mod_cookies prior to Apache 1.3.</compatibility></td></tr></table></td></tr></table><h2>Summary</h2>
- <p>Previous releases of Apache have included a module which
- generates a 'clickstream' log of user activity on a site using
- cookies. This was called the "cookies" module, mod_cookies. In
- Apache 1.2 and later this module has been renamed the "user
- tracking" module, mod_usertrack. This module has been
- simplified and new directives added.</p>
-<h2>Directives</h2><ul><li><a href="#cookiedomain">CookieDomain</a></li><li><a href="#cookieexpires">CookieExpires</a></li><li><a href="#cookiename">CookieName</a></li><li><a href="#cookiestyle">CookieStyle</a></li><li><a href="#cookietracking">CookieTracking</a></li></ul><h2>Logging</h2>
-
-
- <p>Previously, the cookies module (now the user tracking
- module) did its own logging, using the <code class="directive">CookieLog</code>
- directive. In this release, this module does no logging at all.
- Instead, a configurable log format file should be used to log
- user click-streams. This is possible because the logging module
- now allows multiple log files. The cookie itself is logged by
- using the text <code>%{cookie}n</code> in the log file format. For
- example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
-CustomLog logs/clickstream "%{cookie}n %r %t"
-</code></td></tr></table></blockquote>
-
- <p>For backward compatibility the configurable log module
- implements the old <code class="directive">CookieLog</code> directive, but this
- should be upgraded to the above <code class="directive">CustomLog</code> directive. </p>
-<h2>2-digit or 4-digit dates for cookies?</h2>
-
-
- <p>(the following is from message
- <022701bda43d$9d32bbb0$1201a8c0@christian.office.sane.com>
- in the new-httpd archives) </p>
-<pre>
-From: "Christian Allen" <christian@sane.com>
-Subject: Re: Apache Y2K bug in mod_usertrack.c
-Date: Tue, 30 Jun 1998 11:41:56 -0400
-
-Did some work with cookies and dug up some info that might be useful.
-
-True, Netscape claims that the correct format NOW is four digit dates, and
-four digit dates do in fact work... for Netscape 4.x (Communicator), that
-is. However, 3.x and below do NOT accept them. It seems that Netscape
-originally had a 2-digit standard, and then with all of the Y2K hype and
-probably a few complaints, changed to a four digit date for Communicator.
-Fortunately, 4.x also understands the 2-digit format, and so the best way to
-ensure that your expiration date is legible to the client's browser is to
-use 2-digit dates.
-
-However, this does not limit expiration dates to the year 2000; if you use
-an expiration year of "13", for example, it is interpreted as 2013, NOT
-1913! In fact, you can use an expiration year of up to "37", and it will be
-understood as "2037" by both MSIE and Netscape versions 3.x and up (not sure
-about versions previous to those). Not sure why Netscape used that
-particular year as its cut-off point, but my guess is that it was in respect
-to UNIX's 2038 problem. Netscape/MSIE 4.x seem to be able to understand
-2-digit years beyond that, at least until "50" for sure (I think they
-understand up until about "70", but not for sure).
-
-Summary: Mozilla 3.x and up understands two digit dates up until "37"
-(2037). Mozilla 4.x understands up until at least "50" (2050) in 2-digit
-form, but also understands 4-digit years, which can probably reach up until
-9999. Your best bet for sending a long-life cookie is to send it for some
-time late in the year "37".
-</pre>
-
-<hr/><h2><a name="CookieDomain">CookieDomain</a> <a name="cookiedomain">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>controls the setting of the domain to which the tracking cookie applies.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieDomain <em>domain</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table>
-
- <p>This directive controls the setting of the domain to which
- the tracking cookie applies. If not present, no domain is
- included in the cookie header field.</p>
-
- <p>The domain string <strong>must</strong> begin with a dot, and
- <strong>must</strong> include at least one embedded dot. That is,
- ".foo.com" is legal, but "foo.bar.com" and ".com" are not.</p>
-<hr/><h2><a name="CookieExpires">CookieExpires</a> <a name="cookieexpires">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieExpires <em>expiry-period</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>In 1.3.20 and earlier, not usable in directory and
-.htaccess</td></tr></table></td></tr></table>
- <p>When used, this directive sets an expiry time on the cookie
- generated by the usertrack module. The <em>expiry-period</em>
- can be given either as a number of seconds, or in the format
- such as "2 weeks 3 days 7 hours". Valid denominations are:
- years, months, weeks, hours, minutes and seconds. If the expiry
- time is in any format other than one number indicating the
- number of seconds, it must be enclosed by double quotes.</p>
-
- <p>If this directive is not used, cookies last only for the
- current browser session.</p>
-<hr/><h2><a name="CookieName">CookieName</a> <a name="cookiename">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieName <em>token</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Apache</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table>
- <p>This directive allows you to change the name of the cookie
- this module uses for its tracking purposes. By default the
- cookie is named "<code>Apache</code>".</p>
-
- <p>You must specify a valid cookie name; results are
- unpredictable if you use a name containing unusual characters.
- Valid characters include A-Z, a-z, 0-9, "_", and "-".</p>
-<hr/><h2><a name="CookieStyle">CookieStyle</a> <a name="cookiestyle">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls the format of the cookie header field</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieStyle
- <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table>
- <p>This directive controls the format of the cookie header
- field. The three formats allowed are:</p>
-
- <ul>
- <li><strong>Netscape</strong>, which is the original but now deprecated
- syntax. This is the default, and the syntax Apache has
- historically used.</li>
-
- <li><strong>Cookie</strong> or <strong>RFC2109</strong>, which is the syntax that
- superseded the Netscape syntax.</li>
-
- <li><strong>Cookie2</strong> or <strong>RFC2965</strong>, which is the most
- current cookie syntax.</li>
- </ul>
-
- <p>Not all clients can understand all of these formats. but you
- should use the newest one that is generally acceptable to your
- users' browsers.</p>
-<hr/><h2><a name="CookieTracking">CookieTracking</a> <a name="cookietracking">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CookieTracking on|off</td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table>
- <p>When the user track module is compiled in, and
- "CookieTracking on" is set, Apache will start sending a
- user-tracking cookie for all new requests. This directive can
- be used to turn this behavior on or off on a per-server or
- per-directory basis. By default, compiling mod_usertrack will
- not activate cookies. </p>
-
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mod_vhost_alias- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_vhost_alias</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Provides for <a href="../vhosts/mass.html">dynamically configured mass virtual
-hosting</a></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>vhost_alias_module</td></tr></table></td></tr></table><h2>Summary</h2>
-
- <p>This module creates dynamically configured virtual hosts, by
- allowing the IP address and/or the <code>Host:</code> header of
- the HTTP request to be used as part of the pathname to
- determine what files to serve. This allows for easy use of a
- huge number of virtual hosts with similar configurations.</p>
-
-
-<h2>Directives</h2><ul><li><a href="#virtualdocumentroot">VirtualDocumentRoot</a></li><li><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></li><li><a href="#virtualscriptalias">VirtualScriptAlias</a></li><li><a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li></ul><p><strong>See also </strong></p><ul><li><a href="core.html#usecanonicalname" class="directive"><code class="directive">UseCanonicalName</code></a>.</li></ul><h2>Directory Name Interpolation</h2>
-
-
- <p>All the directives in this module interpolate a string into
- a pathname. The interpolated string (henceforth called the
- "name") may be either the server name (see the <a href="core.html#usecanonicalname"><code>UseCanonicalName</code></a>
- directive for details on how this is determined) or the IP
- address of the virtual host on the server in dotted-quad
- format. The interpolation is controlled by specifiers inspired
- by <code>printf</code> which have a number of formats:</p>
-
-<table>
-
-<tr><td><code>%%</code></td>
-<td>insert a <code>%</code></td></tr>
-
-<tr><td><code>%p</code></td>
-<td>insert the port number of the virtual host</td></tr>
-
-<tr><td><code>%N.M</code></td>
-<td>insert (part of) the name</td></tr>
-
-</table>
-
- <p><code>N</code> and <code>M</code> are used to specify
- substrings of the name. <code>N</code> selects from the
- dot-separated components of the name, and <code>M</code>
- selects characters within whatever <code>N</code> has selected.
- <code>M</code> is optional and defaults to zero if it isn't
- present; the dot must be present if and only if <code>M</code>
- is present. The interpretation is as follows:</p>
-
- <table>
- <tr><td><code>0</code></td>
- <td>the whole name</td></tr>
-
- <tr><td><code>1</code></td>
- <td>the first part</td></tr>
-
- <tr><td><code>2</code></td>
- <td>the second part</td></tr>
-
- <tr><td><code>-1</code></td>
- <td>the last part</td></tr>
-
- <tr><td><code>-2</code></td>
- <td>the penultimate part</td></tr>
-
- <tr><td><code>2+</code></td>
- <td>the second and all subsequent parts</td></tr>
-
- <tr><td><code>-2+</code></td>
- <td>the penultimate and all preceding parts</td></tr>
-
- <tr><td><code>1+</code> and <code>-1+</code></td>
- <td>the same as <code>0</code></td></tr>
- </table>
-
- <p>If <code>N</code> or <code>M</code> is greater than the number
- of parts available a single underscore is interpolated. </p>
-
-<h2>Examples</h2>
-
-
- <p>For simple name-based virtual hosts you might use the
- following directives in your server configuration file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- UseCanonicalName Off<br>
- VirtualDocumentRoot /usr/local/apache/vhosts/%0
-</code></td></tr></table></blockquote>
-
- <p>A request for
- <code>http://www.example.com/directory/file.html</code> will be
- satisfied by the file
- <code>/usr/local/apache/vhosts/www.example.com/directory/file.html</code>.
- </p>
-
- <p>For a very large number of virtual hosts it is a good idea
- to arrange the files to reduce the size of the
- <code>vhosts</code> directory. To do this you might use the
- following in your configuration file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- UseCanonicalName Off<br>
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
-</code></td></tr></table></blockquote>
-
- <p>A request for
- <code>http://www.example.isp.com/directory/file.html</code>
- will be satisfied by the file
- <code>/usr/local/apache/vhosts/isp.com/e/x/a/example/directory/file.html</code>.</p>
-
- <p>A more even spread of files can be achieved by hashing from the
- end of the name, for example: </p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
-</code></td></tr></table></blockquote>
-
- <p>The example request would come from
- <code>/usr/local/apache/vhosts/isp.com/e/l/p/example/directory/file.html</code>.</p>
-
- <p>Alternatively you might use: </p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
-</code></td></tr></table></blockquote>
-
- <p>The example request would come from
- <code>/usr/local/apache/vhosts/isp.com/e/x/a/mple/directory/file.html</code>.</p>
-
- <p>For IP-based virtual hosting you might use the following in
- your configuration file:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- UseCanonicalName DNS<br>
- VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs<br>
- VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
-</code></td></tr></table></blockquote>
-
- <p>A request for
- <code>http://www.example.isp.com/directory/file.html</code>
- would be satisfied by the file
- <code>/usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html</code>
- if the IP address of <code>www.example.com</code> were
- 10.20.30.40. A request for
- <code>http://www.example.isp.com/cgi-bin/script.pl</code> would
- be satisfied by executing the program
- <code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
-
- <p>If you want to include the <code>.</code> character in a
- <code>VirtualDocumentRoot</code> directive, but it clashes with
- a <code>%</code> directive, you can work around the problem in
- the following way:</p>
-
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
-</code></td></tr></table></blockquote>
-
- <p>A request for
- <code>http://www.example.isp.com/directory/file.html</code>
- will be satisfied by the file
- <code>/usr/local/apache/vhosts/example.isp/directory/file.html</code>.</p>
-
- <p>The <a href="mod_log_config.html#logformat" class="directive"><code class="directive">LogFormat</code></a>
- directives <code>%V</code> and <code>%A</code> are useful
- in conjunction with this module.</p>
-<hr/><h2><a name="VirtualDocumentRoot">VirtualDocumentRoot</a> <a name="virtualdocumentroot">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Dynamically configure the location of the document root
-for a given virtual host</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>VirtualDocumentRoot <em>interpolated-directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_vhost_alias</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>VirtualDocumentRoot is only available in 1.3.7 and
-later.</td></tr></table></td></tr></table>
-
- <p>The <code>VirtualDocumentRoot</code> directive allows you to
- determine where Apache will find your documents based on the
- value of the server name. The result of expanding
- <em>interpolated-directory</em> is used as the root of the
- document tree in a similar manner to the <a href="core.html#documentroot" class="directive"><code class="directive">DocumentRoot</code></a> directive's argument.
- If <em>interpolated-directory</em> is <code>none</code> then
- <code>VirtaulDocumentRoot</code> is turned off. This directive
- cannot be used in the same context as
- <code class="directive">VirtualDocumentRootIP</code>.</p>
-
-<hr/><h2><a name="VirtualDocumentRootIP">VirtualDocumentRootIP</a> <a name="virtualdocumentrootip">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Dynamically configure the location of the document root
-for a given virtual host</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>VirtualDocumentRootIP <em>interpolated-directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_vhost_alias</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>VirtualDocumentRootIP is only available in 1.3.7
-and later.</td></tr></table></td></tr></table>
-
-<p>The <code>VirtualDocumentRootIP</code> directive is like the
- <code class="directive">VirtualDocumentRoot</code>
- directive, except that it uses the IP address of the server end
- of the connection instead of the server name.</p>
-<hr/><h2><a name="VirtualScriptAlias">VirtualScriptAlias</a> <a name="virtualscriptalias">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Dynamically configure the location of the CGI directory for
-a given virtual host</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>VirtualScriptAlias <em>interpolated-directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_vhost_alias</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>VirtualScriptAlias is only available in 1.3.7
-and later.</td></tr></table></td></tr></table>
-
- <p>The <code>VirtualScriptAlias</code> directive allows you to
- determine where Apache will find CGI scripts in a similar
- manner to <code class="directive">VirtualDocumentRoot</code>
- does for other documents. It matches requests for URIs starting
- <code>/cgi-bin/</code>, much like <a href="mod_alias.html#scriptalias" class="directive"><code class="directive">ScriptAlias</code></a>
- <code>/cgi-bin/</code> would.</p>
-
-<hr/><h2><a name="VirtualScriptAliasIP">VirtualScriptAliasIP</a> <a name="virtualscriptaliasip">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Dynamically configure the location of the cgi directory for
-a given virtual host</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>VirtualScriptAliasIP <em>interpolated-directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>none</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_vhost_alias</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>VirtualScriptAliasIP is only available in 1.3.7
-and later.</td></tr></table></td></tr></table>
-
- <p>The <code>VirtualScriptAliasIP</code> directive is like the
- <a href="#virtualscriptalias"><code>VirtualScriptAlias</code></a>
- directive, except that it uses the IP address of the server end
- of the connection instead of the server name.</p>
-
- <hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Definitions of terms used to describe Apache
- modules</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Terms Used to Describe Apache Modules</h1>
-
- <p>Each Apache module is described using a common format that
- looks like this:</p>
-
- <dl>
- <dd><a href="#Status" rel="Help"><strong>Status:</strong></a>
- <em>status</em><br />
- <a href="#SourceFile" rel="Help"><strong>Source
- File:</strong></a> <em>source-file</em><br />
- <a href="#ModuleIdentifier" rel="Help"><strong>Module
- Identifier:</strong></a> <em>module-identifier</em><br />
- <a href="#Compatibility"
- rel="Help"><strong>Compatibility:</strong></a>
- <em>compatibility notes</em></dd>
- </dl>
-
- <p>Each of the attributes, complete with values where possible,
- are described in this document.</p>
-
- <h2>Module Terms</h2>
-
- <ul>
- <li><a href="#Status">Status</a></li>
-
- <li><a href="#SourceFile">Source File</a></li>
-
- <li><a href="#ModuleIdentifier">Module Identifier</a></li>
-
- <li><a href="#Compatibility">Compatibility</a></li>
- </ul>
- <hr />
-
- <h2><a id="Status" name="Status">Status</a></h2>
-
- <p>This indicates how tightly bound into the Apache Web server
- the module is; in other words, you may need to recompile the
- server in order to gain access to the module and its
- functionality. Possible values for this attribute are:</p>
-
- <dl>
- <dt><strong>MPM</strong></dt>
-
- <dd>A module with status "MPM" is a <a
- href="../mpm.html">Multi-Processing Module</a>. Unlike the
- other types of modules, Apache must have one and only one MPM
- in use at any time. This type of module is responsible for
- basic request handling and dispatching.</dd>
-
- <dt><strong>Base</strong></dt>
-
- <dd>A module labeled as having "Base" status is compiled and
- loaded into the server by default, and is therefore normally
- available unless you have taken steps to remove the module
- from your configuration.</dd>
-
- <dt><strong>Extension</strong></dt>
-
- <dd>A module with "Extension" status is not normally compiled
- and loaded into the server. To enable the module and its
- functionality, you may need to change the server build
- configuration files and re-compile Apache.</dd>
-
- <dt><strong>Experimental</strong></dt>
-
- <dd>"Experimental" status indicates that the module is
- available as part of the Apache kit, but you are on your own
- if you try to use it. The module is being documented for
- completeness, and is not necessarily supported.</dd>
-
- <dt><strong>External</strong></dt>
-
- <dd>Modules which are not included with the base Apache
- distribution ("third-party modules") may use the "External"
- status. We are not responsible for, nor do we support such
- modules.</dd>
- </dl>
- <hr />
-
- <h2><a id="SourceFile" name="SourceFile">Source File</a></h2>
-
- <p>This quite simply lists the name of the source file which
- contains the code for the module. This is also the name used by
- the <a
- href="core.html#ifmodule"><code><IfModule></code></a>
- directive.</p>
- <hr />
-
- <h2><a id="ModuleIdentifier" name="ModuleIdentifier">Module
- Identifier</a></h2>
-
- <p>This is a string which identifies the module for use in the
- <a href="mod_so.html#loadmodule">LoadModule</a> directive when
- dynamically loading modules. In particular, it is the name of
- the external variable of type module in the source file.</p>
- <hr />
-
- <h2><a id="Compatibility"
- name="Compatibility">Compatibility</a></h2>
-
- <p>If the module was not part of the original Apache version 2
- distribution, the version in which it was introduced should be
- listed here.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Definitions of terms used to describe Apache
- modules</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Terms Used to Describe Apache Modules</h1>
-
- <p>Each Apache module is described using a common format that
- looks like this:</p>
-
- <dl>
- <dd><a href="#Status" rel="Help"><strong>Status:</strong></a>
- <em>status</em><br />
- <a href="#SourceFile" rel="Help"><strong>Source
- File:</strong></a> <em>source-file</em><br />
- <a href="#ModuleIdentifier" rel="Help"><strong>Module
- Identifier:</strong></a> <em>module-identifier</em><br />
- <a href="#Compatibility"
- rel="Help"><strong>Compatibility:</strong></a>
- <em>compatibility notes</em></dd>
- </dl>
-
- <p>Each of the attributes, complete with values where possible,
- are described in this document.</p>
-
- <h2>Module Terms</h2>
-
- <ul>
- <li><a href="#Status">Status</a></li>
-
- <li><a href="#SourceFile">Source File</a></li>
-
- <li><a href="#ModuleIdentifier">Module Identifier</a></li>
-
- <li><a href="#Compatibility">Compatibility</a></li>
- </ul>
- <hr />
-
- <h2><a id="Status" name="Status">Status</a></h2>
-
- <p>This indicates how tightly bound into the Apache Web server
- the module is; in other words, you may need to recompile the
- server in order to gain access to the module and its
- functionality. Possible values for this attribute are:</p>
-
- <dl>
- <dt><strong>MPM</strong></dt>
-
- <dd>A module with status "MPM" is a <a
- href="../mpm.html">Multi-Processing Module</a>. Unlike the
- other types of modules, Apache must have one and only one MPM
- in use at any time. This type of module is responsible for
- basic request handling and dispatching.</dd>
-
- <dt><strong>Base</strong></dt>
-
- <dd>A module labeled as having "Base" status is compiled and
- loaded into the server by default, and is therefore normally
- available unless you have taken steps to remove the module
- from your configuration.</dd>
-
- <dt><strong>Extension</strong></dt>
-
- <dd>A module with "Extension" status is not normally compiled
- and loaded into the server. To enable the module and its
- functionality, you may need to change the server build
- configuration files and re-compile Apache.</dd>
-
- <dt><strong>Experimental</strong></dt>
-
- <dd>"Experimental" status indicates that the module is
- available as part of the Apache kit, but you are on your own
- if you try to use it. The module is being documented for
- completeness, and is not necessarily supported.</dd>
-
- <dt><strong>External</strong></dt>
-
- <dd>Modules which are not included with the base Apache
- distribution ("third-party modules") may use the "External"
- status. We are not responsible for, nor do we support such
- modules.</dd>
- </dl>
- <hr />
-
- <h2><a id="SourceFile" name="SourceFile">Source File</a></h2>
-
- <p>This quite simply lists the name of the source file which
- contains the code for the module. This is also the name used by
- the <a
- href="core.html#ifmodule"><code><IfModule></code></a>
- directive.</p>
- <hr />
-
- <h2><a id="ModuleIdentifier" name="ModuleIdentifier">Module
- Identifier</a></h2>
-
- <p>This is a string which identifies the module for use in the
- <a href="mod_so.html#loadmodule">LoadModule</a> directive when
- dynamically loading modules. In particular, it is the name of
- the external variable of type module in the source file.</p>
- <hr />
-
- <h2><a id="Compatibility"
- name="Compatibility">Compatibility</a></h2>
-
- <p>If the module was not part of the original Apache version 2
- distribution, the version in which it was introduced should be
- listed here.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mpm_common- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mpm_common</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>A collection of directives that are implemented by
-more than one multi-processing module (MPM)</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr></table></td></tr></table><h2>Directives</h2><ul><li><a href="#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="#group">Group</a></li><li><a href="#listen">Listen</a></li><li><a href="#listenbacklog">ListenBackLog</a></li><li><a href="#lockfile">LockFile</a></li><li><a href="#maxclients">MaxClients</a></li><li><a href="#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="#maxsparethreads">MaxSpareThreads</a></li><li><a href="#maxthreadsperchild">MaxThreadsPerChild</a></li><li><a href="#minsparethreads">MinSpareThreads</a></li><li><a href="#numservers">NumServers</a></li><li><a href="#pidfile">PidFile</a></li><li><a href="#scoreboardfile">ScoreBoardFile</a></li><li><a href="#sendbuffersize">SendBufferSize</a></li><li><a href="#serverlimit">ServerLimit</a></li><li><a href="#startservers">StartServers</a></li><li><a href="#startthreads">StartThreads</a></li><li><a href="#threadlimit">ThreadLimit</a></li><li><a href="#threadsperchild">ThreadsPerChild</a></li><li><a href="#user">User</a></li></ul><hr/><h2><a name="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the directory where Apache attempts to
-switch before dumping core</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>CoreDumpDirectory <em>directory</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>See usage for the default setting</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
-
- <p>This controls the directory to which Apache attempts to
- switch before dumping core. The default is in the
- <a href="core.html#serverroot" class="directive"><code class="directive">ServerRoot</code></a> directory, however
- since this should not be writable by the user the server runs
- as, core dumps won't normally get written. If you want a core
- dump for debugging, you can use this directive to place it in a
- different location.</p>
-<hr/><h2><a name="Group">Group</a> <a name="group">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the group under which the server will answer
-requests</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Group <em>unix-group</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>Group #-1</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">Group</code> directive sets the group under
- which the server will answer requests. In order to use this
- directive, the stand-alone server must be run initially as root.
- <em>Unix-group</em> is one of:</p>
-
- <dl>
- <dt>A group name</dt>
-
- <dd>Refers to the given group by name.</dd>
-
- <dt># followed by a group number.</dt>
-
- <dd>Refers to a group by its number.</dd>
- </dl>
- <p>It is recommended that you set up a new group specifically for
- running the server. Some admins use user <code>nobody</code>,
- but this is not always possible or desirable.</p>
-
- <p>Note: if you start the server as a non-root user, it will
- fail to change to the specified group, and will instead
- continue to run as the group of the original user.</p>
-
- <p>Special note: Use of this directive in <VirtualHost> is
- no longer supported. To implement the <a href="../suexec.html">suEXEC wrapper</a> with Apache 2.0, use the
- <a href="mod_suexec.html#suexecusergroup" class="directive"><code class="directive">SuexecUserGroup</code></a>
- directive. SECURITY: See <a href="#user" class="directive"><code class="directive">User</code></a> for a discussion of the
- security considerations.</p>
-<hr/><h2><a name="Listen">Listen</a> <a name="listen">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the IP addresses and ports that the server
-listens to</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>Listen [<em>IP-address</em>:]<em>portnumber</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">Listen</code> directive instructs Apache to
- listen to only specific IP addresses or ports; by default it
- responds to requests on all IP interfaces. The Listen directive is
- now a required directive. If it is not in the config file, the
- server will fail to start. This is a change from previous versions
- of Apache.</p>
-
- <p>The Listen directive tells the server to accept incoming
- requests on the specified port or address-and-port combination.
- If only a port number is specified, the server listens to the
- given port on all interfaces. If an IP address is given as well
- as a port, the server will listen on the given port and
- interface.</p>
-
- <p>Multiple Listen directives may be used to specify a number
- of addresses and ports to listen to. The server will respond to
- requests from any of the listed addresses and ports.</p>
-
- <p>For example, to make the server accept connections on both
- port 80 and port 8000, use:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Listen 80<br>
- Listen 8000
-</code></td></tr></table></blockquote>
- <p>To make the server accept connections on two specified
- interfaces and port numbers, use </p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Listen 192.170.2.1:80<br>
- Listen 192.170.2.5:8000
-</code></td></tr></table></blockquote>
- <p>IPv6 addresses must be surrounded in square brackets, as in the
- following example:</p>
-<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
- Listen [fe80::a00:20ff:fea7:ccea]:80
-</code></td></tr></table></blockquote>
-<p><strong>See also </strong></p><ul><li><a href="../dns-caveats.html">DNS Issues</a></li><li><a href="../bind.html">Setting
- which addresses and ports Apache uses</a></li></ul><hr/><h2><a name="ListenBackLog">ListenBackLog</a> <a name="listenbacklog">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum length of the queue of pending connections</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ListenBacklog <em>backlog</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ListenBacklog 511</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>The maximum length of the queue of pending connections.
- Generally no tuning is needed or desired, however on some
- systems it is desirable to increase this when under a TCP SYN
- flood attack. See the backlog parameter to the
- <code>listen(2)</code> system call.</p>
-
- <p>This will often be limited to a smaller number by the
- operating system. This varies from OS to OS. Also note that
- many OSes do not use exactly what is specified as the backlog,
- but use a number based on (but normally larger than) what is
- set.</p>
-<hr/><h2><a name="LockFile">LockFile</a> <a name="lockfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Location of the accept serialization lock file</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>LockFile <em>filename</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>LockFile logs/accept.lock</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">LockFile</code> directive sets the path to
- the lockfile used when Apache is compiled with either
- USE_FCNTL_SERIALIZED_ACCEPT or USE_FLOCK_SERIALIZED_ACCEPT. This
- directive should normally be left at its default value. The main
- reason for changing it is if the <code>logs</code> directory is
- NFS mounted, since <strong>the lockfile must be stored on a local
- disk</strong>. The PID of the main server process is
- automatically appended to the filename.</p>
-
- <p><strong>SECURITY:</strong> It is best to avoid putting this
- file in a world writable directory such as
- <code>/var/tmp</code> because someone could create a denial of
- service attack and prevent the server from starting by creating
- a lockfile with the same name as the one the server will try to
- create.</p>
-<hr/><h2><a name="MaxClients">MaxClients</a> <a name="maxclients">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum number of child processes that will be created
-to serve requests</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxClients <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>>MaxClients
- 8 (with threads) MaxClients 256</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">MaxClients</code> directive sets the limit
- on the number of child processes that will be created to serve
- requests. When the server is built without threading, no more than
- this number of clients can be served simultaneously. To configure
- more than 256 clients with the prefork MPM, you must use the
- <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a> directive.
- To configure more than 1024 clients with the worker MPM, you must
- use the <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a> and
- <a href="#threadlimit" class="directive"><code class="directive">ThreadLimit</code></a> directives.</p>
-
- <p>Any connection attempts over the
- <code class="directive">MaxClients</code> limit will normally be queued,
- up to a number based on the <a href="#listenbacklog" class="directive"><code class="directive">ListenBacklog</code></a> directive. Once a child
- process is freed at the end of a different request, the connection
- will then be serviced.</p>
-
- <p>When the server is compiled with threading, then the maximum
- number of simultaneous requests that can be served is obtained
- from the value of this directive multiplied by
- <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>.</p>
-<hr/><h2><a name="MaxRequestsPerChild">MaxRequestsPerChild</a> <a name="maxrequestsperchild">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Limit on the number of requests that an individual child server
-will handle during its life</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxRequestsPerChild <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxRequestsPerChild 10000</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">MaxRequestsPerChild</code> directive sets
- the limit on the number of requests that an individual child
- server process will handle. After
- <code class="directive">MaxRequestsPerChild</code> requests, the child
- process will die. If <code class="directive">MaxRequestsPerChild</code> is
- 0, then the process will never expire.</p>
-
- <p>Setting <code class="directive">MaxRequestsPerChild</code> to a
- non-zero limit has two beneficial effects:</p>
-
- <ul>
- <li>it limits the amount of memory that process can consume
- by (accidental) memory leakage;</li>
-
- <li>by giving processes a finite lifetime, it helps reduce
- the number of processes when the server load reduces.</li>
- </ul>
-
- <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
- the first request is counted towards this limit. In effect, it
- changes the behavior to limit the number of
- <em>connections</em> per child.</p>
-<hr/><h2><a name="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum number of idle threads</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxSpareThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxSpareThreads 10 (Perchild) or 500 (worker)</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code></td></tr></table></td></tr></table>
- <p>Maximum number of idle threads. Different MPMs deal with this
- directive differently. <code><a href="perchild.html">perchild</a></code> monitors the
- number of idle threads on a per-child basis. If there are too many
- idle threads in that child, the server will begin to kill threads
- within that child.</p>
-
- <p><code><a href="worker.html">worker</a></code> deals with idle threads on a
- server-wide basis. If there are too many idle threads in the
- server then child processes are killed until the number of idle
- threads is less than this number.</p>
-
-<p><strong>See also </strong></p><ul><li><a href="#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a></li><li><a href="#startservers" class="directive"><code class="directive">StartServers</code></a></li></ul><hr/><h2><a name="MaxThreadsPerChild">MaxThreadsPerChild</a> <a name="maxthreadsperchild">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum number of threads per child process</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxThreadsPerChild <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxThreadsPerChild 64</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code></td></tr></table></td></tr></table>
- <p>Maximum number of threads per child. For MPMs with a
- variable number of threads per child, this directive sets the
- maximum number of threads that will be created in each child
- process. To increase this value beyond its default, it is
- necessary to change the value of the compile-time define
- <code>HARD_THREAD_LIMIT</code> and recompile the server.</p>
-<hr/><h2><a name="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Minimum number of idle threads available to handle request
-spikes</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MinSpareServers <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MinSpareThreads 5 (Perchild) or 250 (worker)</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code></td></tr></table></td></tr></table>
- <p>Minimum number of idle threads to handle request spikes.
- Different MPMs deal with this directive
- differently. <code><a href="perchild.html">perchild</a></code> monitors the number of idle
- threads on a per-child basis. If there aren't enough idle threads
- in that child, the server will begin to create new threads within
- that child.</p>
-
- <p><code><a href="worker.html">worker</a></code> deals with idle threads on a
- server-wide basis. If there aren't enough idle threads in the
- server then child processes are created until the number of idle
- threads is greater than number.</p>
-<p><strong>See also </strong></p><ul><li><a href="#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a></li><li><a href="#startservers" class="directive"><code class="directive">StartServers</code></a></li></ul><hr/><h2><a name="NumServers">NumServers</a> <a name="numservers">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Total number of children alive at the same time</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>NumServers <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>NumServers 2</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="perchild.html">perchild</a></code></td></tr></table></td></tr></table>
- <p>Number of children alive at the same time. MPMs that use
- this directive do not dynamically create new child processes so
- this number should be large enough to handle the requests for
- the entire site.</p>
-<hr/><h2><a name="PidFile">PidFile</a> <a name="pidfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the file where the server records the process ID
-of the daemon</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>PidFile <em>filename</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>PidFile logs/httpd.pid</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchilde.html">perchilde</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">PidFile</code> directive sets the file to
- which the server records the process id of the daemon. If the
- filename does not begin with a slash (/) then it is assumed to be
- relative to the <a href="core.html#serverroot" class="directive"><code class="directive">ServerRoot</code></a>.</p>
-
- <p>It is often useful to be able to send the server a signal,
- so that it closes and then reopens its <a href="core.html#errorlog" class="directive"><code class="directive">ErrorLog</code></a> and TransferLog, and
- re-reads its configuration files. This is done by sending a
- SIGHUP (kill -1) signal to the process id listed in the
- PidFile.</p>
-
- <p>The PidFile is subject to the same warnings about log file
- placement and <a href="../misc/security_tips.html#serverroot">security</a>.</p>
-<hr/><h2><a name="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Location of the file used to store coordination data for
-the child processes</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ScoreBoardFile <em>file-path</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ScoreBoardFile logs/apache_status</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>Apache uses a scoreboard to communicate between its parent
- and child processes. Some architectures require a file to facilitate
- this communication. If the file is left unspecified, Apache first
- attempts to create the scoreboard entirely in memory (using anonymous
- shared memory) and, failing that, will attempt to create the file on
- disk (using file-based shared memory). Specifying this directive causes
- Apache to always create the file on the disk.</p>
-
- <p>File-based shared memory is useful for third-party applications
- that require direct access to the scoreboard.</p>
-
- <p>If you use a <code class="directive">ScoreBoardFile</code> then
- you may see improved speed by placing it on a RAM disk. But be
- careful that you heed the same warnings about log file placement
- and <a href="../misc/security_tips.html">security</a>.</p>
-<p><strong>See also </strong></p><ul><li><a href="../stopping.html">Stopping and Restarting Apache</a></li></ul><hr/><h2><a name="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>TCP buffer size</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>SendBufferSize <em>bytes</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>The server will set the TCP buffer size to the number of bytes
- specified. Very useful to increase past standard OS defaults on
- high speed high latency (<em>i.e.</em>, 100ms or so, such as
- transcontinental fast pipes).</p>
-<hr/><h2><a name="ServerLimit">ServerLimit</a> <a name="serverlimit">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Upper limit on configurable number of processes</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ServerLimit <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ServerLimit 256 (prefork), ServerLimit 16 (worker)</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>For the <code><a href="prefork.html">prefork</a></code> MPM, this directive sets the
- maximum configured value for <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> for the lifetime of the
- Apache process. For the worker MPM, this directive in combination
- with <a href="#threadlimit" class="directive"><code class="directive">ThreadLimit</code></a> sets
- the maximum configured value for <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> for the lifetime of the
- Apache process. Any attempts to change this directive during a
- restart will be ignored, but <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> can be modified during
- a restart.</p>
-
- <p>Special care must be taken when using this directive. If
- <code class="directive">ServerLimit</code> is set to a value much higher
- than necessary, extra, unused shared memory will be allocated. If
- both <code class="directive">ServerLimit</code> and <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> are set to values
- higher than the system can handle, Apache may not start or the
- system may become unstable.</p>
-
- <p>With the <code><a href="prefork.html">prefork</a></code> MPM, use this directive only
- if you need to set <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> higher higher than 256.
- Do not set the value of this directive any higher than what you
- might want to set <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> to.</p>
-
- <p>With the <code><a href="worker.html">worker</a></code> MPM, use this directive only
- if your <a href="#maxclients" class="directive"><code class="directive">MaxClients</code></a> and
- <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>
- settings require more than 16 server processes. Do not set the
- value of this directive any higher than the number of server
- processes required by what you may want for <a href="#maxclients " class="directive"><code class="directive">MaxClients </code></a> and <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>.</p>
-<hr/><h2><a name="StartServers">StartServers</a> <a name="startservers">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Number of child server processes created at startup</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>StartServers <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>StartServers 5</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">StartServers</code> directive sets the
- number of child server processes created on startup. As the number
- of processes is dynamically controlled depending on the load,
- there is usually little reason to adjust this parameter.</p>
-<p><strong>See also </strong></p><ul><li><a href="#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a></li><li><a href="#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a></li></ul><hr/><h2><a name="StartThreads">StartThreads</a> <a name="startthreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Nubmer of threads each child creates on startup</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>StartThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>StartThreads 5</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="perchild.html">perchild</a></code></td></tr></table></td></tr></table>
- <p>Number of threads each child creates on startup. As the
- number of threads is dynamically controlled depending on the
- load, there is usually little reason to adjust this
- parameter.</p>
-<hr/><h2><a name="ThreadLimit">ThreadLimit</a> <a name="threadlimit">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the upper limit on the configurable number of threads
-per child process</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ThreadLimit <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ThreadLimit 64</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code></td></tr></table></td></tr></table>
- <p>This directive sets the maximum configured value for <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> for the lifetime
- of the Apache process. Any attempts to change this directive
- during a restart will be ignored, but <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> can be modified
- during a restart up to the value of this directive.</p>
-
- <p>Special care must be taken when using this directive. If
- <code class="directive">ThreadLimit</code> is set to a value much higher
- than <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>,
- extra unused shared memory will be allocated. If both
- <code class="directive">ThreadLimit</code> and <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> are set to values
- higher than the system can handle, Apache may not start or the
- system may become unstable.</p>
-
- <p>Use this directive only if you need to set <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> higher than 64. Do
- not set the value of this directive any higher than what you might
- want to set <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> to.</p>
-<hr/><h2><a name="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Number of threads created by each child process</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ThreadsPerChild <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ThreadsPerChild 50</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table>
- <p>This directive sets the number of threads created by each
- child process. The child creates these threads at startup and
- never creates more. if using an MPM like mpmt_winnt, where
- there is only one child process, this number should be high
- enough to handle the entire load of the server. If using an MPM
- like worker, where there are multiple child processes, the
- total number of threads should be high enough to handle the
- common load on the server.</p>
-<hr/><h2><a name="User">User</a> <a name="user">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>The userid under which the server will answer
-requests</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>User <em>unix-userid</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>User #-1</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code></td></tr></table></td></tr></table>
- <p>The <code class="directive">User</code> directive sets the userid as
- which the server will answer requests. In order to use this
- directive, the standalone server must be run initially as
- root. <em>Unix-userid</em> is one of:</p>
-
- <dl>
- <dt>A username</dt>
-
- <dd>Refers to the given user by name.</dd>
-
- <dt># followed by a user number.</dt>
-
- <dd>Refers to a user by their number.</dd>
- </dl>
-
- <p>The user should have no privileges which result in it being
- able to access files which are not intended to be visible to the
- outside world, and similarly, the user should not be able to
- execute code which is not meant for httpd requests. It is
- recommended that you set up a new user and group specifically for
- running the server. Some admins use user <code>nobody</code>, but
- this is not always possible or desirable. For example
- <code><a href="mod_proxy.html">mod_proxy</a></code>'s cache, when enabled, must be
- accessible to this user (see <a href="mod_proxy.html#cacheroot" class="directive"><code class="directive">CacheRoot</code></a>).</p>
-
- <p>Notes: If you start the server as a non-root user, it will
- fail to change to the lesser privileged user, and will instead
- continue to run as that original user. If you do start the
- server as root, then it is normal for the parent process to
- remain running as root.</p>
-
- <p>Special note: Use of this directive in <a href="core.html#virtualhost" class="directive"><code class="directive"><VirtualHost></code></a> is no longer supported. To
- configure your server for <a href="mod_suexec.html">suexec</a> use
- <a href="mod_suexec.html#suexecusergroup" class="directive"><code class="directive">SuexecUserGroup</code></a>.</p>
-
-<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Security</strong></p> <p>Don't set <code class="directive">User</code>
-(or <a href="#group" class="directive"><code class="directive">Group</code></a>) to
-<code>root</code> unless you know exactly what you are doing, and what
-the dangers are.</p></td></tr></table></blockquote>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mpm_netware- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mpm_netware</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Multi-Processing Module implementing an exclusively threaded web
- server optimized for Novell NetWare</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_netware_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This Multi-Processing Module (MPM) implements an exclusively threaded web server
- that has been optimized for Novell NetWare.</p>
-
- <p>The main thread is responsible for launching child
- worker threads which listen for connections and serve them when they
- arrive. Apache always tries to maintain several <em>spare</em>
- or idle worker threads, which stand ready to serve incoming
- requests. In this way, clients do not need to wait for a new
- child threads to be spawned before their requests can be
- served.</p>
-
- <p>The <code>StartThreads</code>, <code>MinSpareThreads</code>,
- <code>MaxSpareThreads</code>, and <code>MaxThreads</code>
- regulate how the main thread creates worker threads to serve
- requests. In general, Apache is very self-regulating, so most
- sites do not need to adjust these directives from their default
- values. Sites which need to serve more than 250 simultaneous
- requests may need to increase <code>MaxThreads</code>, while
- sites with limited memory may need to decrease
- <code>MaxThreads</code> to keep the server from thrashing (spawning and
- terminating idle threads). More information about
- tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a>
- documentation.</p>
-
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones. On the NetWare OS it is highly recommended that this directive
- remain set to 0. This allows worker threads to continue servicing
- requests indefinitely.</p>
-
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-<h2>Directives</h2><ul><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="#maxsparethreads">MaxSpareThreads</a></li><li><a href="#maxthreads">MaxThreads</a></li><li><a href="#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="#startthreads">StartThreads</a></li><li><a href="#threadstacksize">ThreadStackSize</a></li></ul><hr/><h2><a name="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxSpareThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxSpareThreads 100</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
- <p>The <code class="directive">MaxSpareThreads</code> directive sets the
- desired maximum number of <em>idle</em> worker threads. An idle
- worker thread is one which is not handling a request. If there are
- more than MaxSpareThreads idle, then the main thread will kill off
- the excess worker threads.</p>
-
- <p>Tuning of this parameter should only be necessary on very
- busy sites. Setting this parameter to a large number is almost
- always a bad idea.</p>
-<hr/><h2><a name="MaxThreads">MaxThreads</a> <a name="maxthreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxThreads 250</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
-<p>The MaxThreads directive sets the desired maximum
- number worker threads allowable.</p>
-<hr/><h2><a name="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MinSpareThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MinSpareThreads 10</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
-<p>The <code class="directive">MinSpareThreads</code> directive sets the
-desired minimum number of <em>idle</em> worker threads. An idle worker
-thread is one which is not handling a request. If there are fewer than
-MinSpareThreads idle, then the main thread spawns new worker.</p>
-
- <p>Tuning of this parameter should only be necessary on very
- busy sites. Setting this parameter to a large number is almost
- always a bad idea.</p>
-<hr/><h2><a name="StartThreads">StartThreads</a> <a name="startthreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>StartThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>StartThreads 50</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
-<p>The StartThreads directive sets the desired
- number of worker threads to spawn and startup</p>
-<hr/><h2><a name="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ThreadStackSize <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ThreadStackSize 65536</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
- <p>This directive tells the server what stack size to use for
- each of the running threads. If you ever get a stack overflow
- you will need to bump this number to a higher setting.</p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>mpm_winnt- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mpm_winnt</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>This Multi-Processing Module is optimized for Windows
- NT.</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_winnt_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This Multi-Processing Module (MPM) is the default for the
- Windows NT operating systems. It uses a single control process
- which launches a single child process which in turn creates
- threads to handle requests</p>
-<h2>Directives</h2><ul><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li></ul><hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>perchild- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module perchild</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Multi-Processing Module allowing for daemon processes
- serving requests to be assigned a variety of different
- userids</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_perchild_module</td></tr></table></td></tr></table><h2>Summary</h2>
-<blockquote><table><tr><td bgcolor="#ffe5f5">
-This MPM does not currently work on most platforms. Work is ongoing to
-make it functional.
-</td></tr></table></blockquote>
-
- <p>This Multi-Processing Module (MPM) implements a hybrid
- multi-process, multi-threaded web server. A fixed number of
- processes create threads to handle requests. Fluctuations in
- load are handled by increasing or decreasing the number of
- threads in each process.</p>
-
- <p>A single control process launches the number of child processes
- indicated by the <a href="mpm_common.html#numservers" class="directive"><code class="directive">NumServers</code></a> directive at server
- startup. Each child process creates threads as specified in the
- <code>StartThreads</code> directive. The individual threads then
- listen for connections and serve them when they arrive.</p>
-
- <p>Apache always tries to maintain a pool of <em>spare</em> or
- idle server threads, which stand ready to serve incoming
- requests. In this way, clients do not need to wait for new
- threads to be created. For each child process, Apache assesses
- the number of idle threads and creates or destroys threads to
- keep this number within the boundaries specified by
- <code>MinSpareThreads</code> and <code>MaxSpareThreads</code>.
- Since this process is very self-regulating, it is rarely
- necessary to modify these directives from their default values.
- The maximum number of clients that may be served simultaneously
- is determined by multiplying the number of server processes
- that will be created (<code>NumServers</code>) by the maximum
- number of threads created in each process
- (<code>MaxThreadsPerChild</code>).</p>
-
- <p>While the parent process is usually started as root under
- Unix in order to bind to port 80, the child processes and
- threads are launched by Apache as a less-privileged user. The
- <code>User</code> and <code>Group</code> directives are used to
- set the privileges of the Apache child processes. The child
- processes must be able to read all the content that will be
- served, but should have as few privileges beyond that as
- possible. In addition, unless <a href="../suexec.html">suexec</a> is used, these directives also
- set the privileges which will be inherited by CGI scripts.</p>
-
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones.</p>
-
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-
- <p>In addition it adds the extra ability to specify that
- specific processes should serve requests under different
- userids. These processes can then be associated with specific
- virtual hosts.</p>
-
-<h2>Directives</h2><ul><li><a href="#assignuserid">AssignUserId</a></li><li><a href="#childperuserid">ChildPerUserId</a></li><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_common.html#maxthreadsperchild">MaxThreadsPerChild</a></li><li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#numservers">NumServers</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#startthreads">StartThreads</a></li><li><a href="mpm_common.html#user">User</a></li></ul><hr/><h2><a name="AssignUserId">AssignUserId</a> <a name="assignuserid">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AssignUserID <em>user_id</em> <em>group_id</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>perchild</td></tr></table></td></tr></table>
- <p>Tie a virtual host to a specific child process. Requests addressed to
-the virtual host where this directive appears will be served by the process
-running with the specified user and group id.</p>
-<hr/><h2><a name="ChildPerUserId">ChildPerUserId</a> <a name="childperuserid">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ChildPerUserID <em>user_id</em>
-<em>group_id</em> <em>child_id</em></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>perchild</td></tr></table></td></tr></table>
- <p>Specify a user id and group id for a specific child process. The number of
-children if set by the <a href="mpm_common.html#numservers">NumServers</a>
-directive. For example, the default value for <a href="mpm_common.html#numservers">NumServers</a> is 5 and that means
-children ids 1,2,3,4 and 5 are available for assigment. If a child does not
-have an associated ChildPerUserID, it inherits the <a href="mpm_common.html#user">User</a> and <a href="mpm_common.html#group">Group</a> settings from the main server </p>
-<hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>prefork- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module prefork</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Implements a non-threaded, pre-forking web server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_prefork_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This Multi-Processing Module (MPM) implements a
- non-threaded, pre-forking web server which handles request in a
- manner very similar to the default behavior of Apache 1.3 on
- Unix.</p>
-
- <p>A single control process is responsible for launching child
- processes which listen for connections and serve them when they
- arrive. Apache always tries to maintain several <em>spare</em>
- or idle server processes, which stand ready to serve incoming
- requests. In this way, clients do not need to wait for a new
- child processes to be forked before their requests can be
- served.</p>
-
- <p>The <a href="mpm_common.html#startservers" class="directive"><code class="directive">StartServers</code></a>,
- <a href="#minspareservers" class="directive"><code class="directive">MinSpareServers</code></a>,
- <a href="#maxspareservers" class="directive"><code class="directive">MaxSpareServers</code></a>, and
- <a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a> regulate how
- the parent process creates children to serve requests. In general,
- Apache is very self-regulating, so most sites do not need to
- adjust these directives from their default values. Sites which
- need to serve more than 256 simultaneous requests may need to
- increase <a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a>,
- while sites with limited memory may need to decrease <a href="mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a> to keep the server from
- thrashing (swapping memory to disk and back). More information
- about tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a>
- documentation.</p>
-
- <p>While the parent process is usually started as root under Unix
- in order to bind to port 80, the child processes are launched by
- Apache as a less-privileged user. The <a href="mpm_common.html#user" class="directive"><code class="directive">User</code></a> and <a href="mpm_common.html#group" class="directive"><code class="directive">Group</code></a> directives are used to set
- the privileges of the Apache child processes. The child processes
- must be able to read all the content that will be served, but
- should have as few privileges beyond that as possible. In
- addition, unless <a href="../suexec.html">suexec</a> is used,
- these directives also set the privileges which will be inherited
- by CGI scripts.</p>
-
- <p><a href="mpm_common.html#maxrequestsperchild" class="directive"><code class="directive">MaxRequestsPerChild</code></a>
- controls how frequently the server recycles processes by killing
- old ones and launching new ones.</p>
-<h2>Directives</h2><ul><li><a href="#acceptmutex">AcceptMutex</a></li><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxspareservers">MaxSpareServers</a></li><li><a href="#maxspareservers">MaxSpareServers</a></li><li><a href="mpm_common.html#minspareservers">MinSpareServers</a></li><li><a href="#minspareservers">MinSpareServers</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#user">User</a></li></ul><p><strong>See also </strong></p><ul><li><a href="../bind.html">Setting which addresses and
- ports Apache uses</a></li></ul><hr/><h2><a name="AcceptMutex">AcceptMutex</a> <a name="acceptmutex">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Method that Apache uses to serialize multiple children
-accepting requests on network sockets</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>AcceptMutex default|<em>method</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>AcceptMutex default</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>prefork</td></tr></table></td></tr></table>
- <p>The <code class="directive">AcceptMutex</code> directives sets the
- method that Apache uses to serialize multiple children accepting
- requests on network sockets. Prior to Apache 2.0, the method was
- selectable only at compile time. The optimal method to use is
- highly architecture and platform dependent. For further details,
- see the <a href="../misc/perf-tuning.html">performance tuning</a>
- documentation.</p>
-
- <p>If this directive is set to <code>default</code>, then the
- compile-time selected default will be used. Other possible
- methods are listed below. Note that not all methods are
- available on all platforms. If a method is specified which is
- not available, a message will be written to the error log
- listing the available methods.</p>
-
- <dl>
- <dt><code>flock</code></dt>
-
- <dd>uses the <code>flock(2)</code> system call to lock the
- file defined by the <a href="mpm_common.html#lockfile" class="directive"><code class="directive">LockFile</code></a> directive.</dd>
-
- <dt><code>fcntl</code></dt>
-
- <dd>uses the <code>fnctl(2)</code> system call to lock the
- file defined by the <a href="mpm_common.html#lockfile" class="directive"><code class="directive">LockFile</code></a> directive.</dd>
-
- <dt><code>sysvsem</code></dt>
-
- <dd>uses SySV-style semaphores to implement the mutex.</dd>
-
- <dt><code>pthread</code></dt>
-
- <dd>uses POSIX mutexes as implemented by the POSIX Threads
- (PThreads) specification.</dd>
- </dl>
-<hr/><h2><a name="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Maximum number of idle child server processes</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxSpareServers <em>number</em><br></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxSpareServers 10</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>prefork</td></tr></table></td></tr></table>
- <p>The <code class="directive">MaxSpareServers</code> directive sets the
- desired maximum number of <em>idle</em> child server processes. An
- idle process is one which is not handling a request. If there are
- more than MaxSpareServers idle, then the parent process will kill
- off the excess processes.</p>
-
- <p>Tuning of this parameter should only be necessary on very
- busy sites. Setting this parameter to a large number is almost
- always a bad idea.</p>
-<p><strong>See also </strong></p><ul><li><a href="#minspareservers" class="directive"><code class="directive">MinSpareServers</code></a></li><li><a href="mpm_common.html#startservers" class="directive"><code class="directive">StartServers</code></a></li></ul><hr/><h2><a name="MinSpareServers">MinSpareServers</a> <a name="minspareservers">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Minimum number of idle child server processes</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MinSpareServers <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MinSpareServers 5</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>prefork</td></tr></table></td></tr></table>
- <p>The <code class="directive">MinSpareServers</code> directive sets the
- desired minimum number of <em>idle</em> child server processes. An
- idle process is one which is not handling a request. If there are
- fewer than MinSpareServers idle, then the parent process creates
- new children at a maximum rate of 1 per second.</p>
-
- <p>Tuning of this parameter should only be necessary on very
- busy sites. Setting this parameter to a large number is almost
- always a bad idea.</p>
-
- <p>This directive has no effect on Microsoft Windows.</p>
-<p><strong>See also </strong></p><ul><li><a href="#maxspareservers" class="directive"><code class="directive">MaxSpareServers</code></a></li><li><a href="mpm_common.html#startservers" class="directive"><code class="directive">StartServers</code></a></li></ul><hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file
+++ /dev/null
-<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- --><title>worker- Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module worker</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Multi-Processing Module implementing a hybrid
- multi-threaded multi-process web server</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_worker_module</td></tr></table></td></tr></table><h2>Summary</h2>
- <p>This Multi-Processing Module (MPM) implements a hybrid
- multi-process multi-threaded server. Each process has a fixed
- number of threads. The server adjusts to handle load by
- increasing or decreasing the number of processes.</p>
-
- <p>A single control process is responsible for launching child
- processes. Each child process creates a fixed number of threads
- as specified in the <code>ThreadsPerChild</code> directive. The
- individual threads then listen for connections and serve them
- when they arrive.</p>
-
- <p>Apache always tries to maintain a pool of <em>spare</em> or
- idle server threads, which stand ready to serve incoming
- requests. In this way, clients do not need to wait for a new
- threads or processes to be created before their requests can be
- served. Apache assesses the total number of idle threads in all
- processes, and forks or kills processes to keep this number
- within the boundaries specified by <code>MinSpareThreads</code>
- and <code>MaxSpareThreads</code>. Since this process is very
- self-regulating, it is rarely necessary to modify these
- directives from their default values. The maximum number of
- clients that may be served simultaneously is determined by
- multiplying the maximum number of server processes that will be
- created (<code>MaxClients</code>) by the number of threads
- created in each process (<code>ThreadsPerChild</code>).</p>
-
- <p>While the parent process is usually started as root under
- Unix in order to bind to port 80, the child processes and
- threads are launched by Apache as a less-privileged user. The
- <code>User</code> and <code>Group</code> directives are used to
- set the privileges of the Apache child processes. The child
- processes must be able to read all the content that will be
- served, but should have as few privileges beyond that as
- possible. In addition, unless <a href="../suexec.html">suexec</a> is used, these directives also
- set the privileges which will be inherited by CGI scripts.</p>
-
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones.</p>
-
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-<h2>Directives</h2><ul><li><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="mpm_common.html#group">Group</a></li><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#lockfile">LockFile</a></li><li><a href="mpm_common.html#maxclients">MaxClients</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li><li><a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#pidfile">PidFile</a></li><li><a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="mpm_common.html#serverlimit">ServerLimit</a></li><li><a href="mpm_common.html#startservers">StartServers</a></li><li><a href="mpm_common.html#threadlimit">ThreadLimit</a></li><li><a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li><li><a href="mpm_common.html#user">User</a></li></ul><hr/></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="../images/index.gif" alt="Index"/></a><a href="../"><img src="../images/home.gif" alt="Home"/></a></body></html>
\ No newline at end of file