]> granicus.if.org Git - apache/commitdiff
XML version of core directives.
authorJoshua Slive <slive@apache.org>
Tue, 19 Feb 2002 18:15:15 +0000 (18:15 +0000)
committerJoshua Slive <slive@apache.org>
Tue, 19 Feb 2002 18:15:15 +0000 (18:15 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93496 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/core.xml [new file with mode: 0644]

diff --git a/docs/manual/mod/core.xml b/docs/manual/mod/core.xml
new file mode 100644 (file)
index 0000000..2eb6527
--- /dev/null
@@ -0,0 +1,2480 @@
+<?xml version="1.0"?>
+<!DOCTYPE xml:manual [ <!ENTITY nbsp "&#160;"> ]>
+<?xml-stylesheet type="text/xsl" href="../style/manual.xsl"?>
+<modulesynopsis>
+
+<name>core</name>
+<status>Core</status>
+<description>Core Apache HTTP Server features that are always
+available</description>
+
+<directivesynopsis>
+<name>AcceptPathInfo</name>
+<description>Controls whether requests can contain trailing pathname information</description>    
+<syntax>AcceptPathInfo On|Off|Default</syntax>
+<default>AcceptPathInfo Default</default>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<compatibility>Available in Apache 2.0.30 and later</compatibility>
+
+<usage>
+
+    <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
+    <directive>AcceptPathInfo</directive> 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>
+<example>
+&lt;Files "mypaths.shtml"&gt;<br />
+    Options +Includes<br />
+    SetOutputFilter INCLUDES<br />
+    AcceptPathInfo on<br />
+&lt;/Files&gt;
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AccessFileName</name>
+<description>Sets the name of the .htaccess file</description>
+<syntax>AccessFileName <em>filename</em> [<em>filename</em>] ...</syntax>
+<default>AccessFileName .htaccess</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <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>
+
+<example>
+AccessFileName .acl
+</example>
+
+    <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>
+
+<example>
+&lt;Directory /&gt;<br />
+&nbsp;&nbsp;AllowOverride None<br />
+&lt;/Directory&gt;
+</example>
+</usage>
+<seealso><directive module="core">AllowOverride</directive></seealso>
+<seealso><a href="../configuring.html">Configuration Files</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AddDefaultCharset</name>
+<description>Specifies the default character set to be added for a
+response without an explicit character set</description>
+<syntax>AddDefaultCharset On|Off|<em>charset</em></syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<default>AddDefaultCharset Off</default>
+
+<usage>
+
+    <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>
+
+<example>
+    AddDefaultCharset utf-8
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AddModule</name>
+<syntax>AddModule <em>module</em> [<em>module</em>] ...</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>The server can have modules compiled in which are not
+    actively in use. This directive can be used to enable the use
+    of those modules. The server comes with a pre-loaded list of
+    active modules; this list can be cleared with the <directive
+    module="core">ClearModuleList</directive> directive.</p>
+
+    <p>For example:</p>
+<example>
+AddDefaultCharset utf-8
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AllowOverride</name>
+<description>Sets the types of directives that are allowed in
+.htaccess files</description>
+<syntax>AllowOverride All|None|<em>directive-type</em> [<em>directive-type</em>] ...</syntax>
+<default>AllowOverride All</default>
+<contextlist><context>directory</context></contextlist>
+
+<usage>
+    <p>When the server finds an .htaccess file (as specified by <directive
+    module="core">AccessFileName</directive>) 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 (<directive
+      module="mod_auth_dbm">AuthDBMGroupFile</directive>,
+      <directive module="mod_auth_dbm">AuthDBMUserFile</directive>,
+      <directive module="mod_auth">AuthGroupFile</directive>,
+      <directive module="core">AuthName</directive>, 
+      <directive module="core">AuthType</directive>, <directive
+      module="mod_auth">AuthUserFile</directive>, <directive
+      module="core">Require</directive>, <em>etc.</em>).</dd>
+
+      <dt>FileInfo</dt>
+
+      <dd>
+      Allow use of the directives controlling document types (<directive
+      module="core">DefaultType</directive>, <directive
+      module="core">ErrorDocument</directive>, <directive
+      module="core">ForceType</directive>, <directive
+      module="mod_negotiation">LanguagePriority</directive>,
+      <directive module="core">SetHandler</directive>, <directive
+      module="core">SetInputFilter</directive>, <directive
+      module="core">SetOutputFilter</directive>, and 
+      <module>mod_mime</module> Add* and Remove*
+      directives, <em>etc.</em>).</dd>
+
+      <dt>Indexes</dt>
+
+      <dd>
+      Allow use of the directives controlling directory indexing
+      (<directive
+      module="mod_autoindex">AddDescription</directive>,
+      <directive module="mod_autoindex">AddIcon</directive>, <directive
+      module="mod_autoindex">AddIconByEncoding</directive>,
+      <directive module="mod_autoindex">AddIconByType</directive>,
+      <directive module="mod_autoindex">DefaultIcon</directive>, <directive
+      module="mod_dir">DirectoryIndex</directive>, <directive
+      module="mod_autoindex">FancyIndexing</directive>, <directive
+      module="mod_autoindex">HeaderName</directive>, <directive
+      module="mod_autoindex">IndexIgnore</directive>, <directive
+      module="mod_autoindex">IndexOptions</directive>, <directive
+      module="mod_autoindex">ReadmeName</directive>,
+      <em>etc.</em>).</dd>
+
+      <dt>Limit</dt>
+
+      <dd>
+      Allow use of the directives controlling host access (<directive
+      module="mod_access">Allow</directive>, <directive
+      module="mod_access">Deny</directive> and <directive
+      module="mod_access">Order</directive>).</dd>
+
+      <dt>Options</dt>
+
+      <dd>
+      Allow use of the directives controlling specific directory
+      features (<directive module="core">Options</directive> and
+      <directive module="mod_include">XBitHack</directive>).</dd>
+    </dl>
+
+    <p>Example:</p>
+
+    <example>AllowOverride AuthConfig Indexes</example>
+</usage>
+
+<seealso><directive module="core">AccessFileName</directive></seealso>
+<seealso><a href="../configuring.html">Configuration Files</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthName</name>
+<description>Sets the authorization realm for use in HTTP
+authentication</description>
+<syntax>AuthName <em>auth-domain</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <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.
+    <directive>AuthName</directive> takes a single argument; if the
+    realm name contains spaces, it must be enclosed in quotation
+    marks.  It must be accompanied by <directive
+    module="core">AuthType</directive> and <directive
+    module="core">Require</directive> directives, and directives such
+    as <directive module="mod_auth">AuthUserFile</directive> and
+    <directive module="mod_auth">AuthGroupFile</directive> to
+    work.</p>
+
+   <p>For example:</p>
+
+   <example>AuthName "Top Secret"</example>
+
+    <p>The string provided for the <code>AuthRealm</code> is what will
+    appear in the password dialog provided by most browsers.</p>
+</usage>
+<seealso><a 
+    href="../howto/auth.html">Authentication, Authorization, and 
+    Access Control</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthType</name>
+<description>Selects the type of user authentication</description>
+<syntax>AuthType Basic|Digest</syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+<override>AuthConfig</override></contextlist>
+
+<usage>
+    <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 <directive
+     module="core">AuthName</directive> and <directive
+     module="core">Require</directive> directives, and directives such
+     as <directive module="mod_auth">AuthUserFile</directive> and
+     <directive module="mod_auth">AuthGroupFile</directive> to
+     work.</p>
+</usage>
+<seealso><a href="../howto/auth.html">Authentication, Authorization,
+and Access Control</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ContentDigest</name>
+<description>Enables the generation of Content-MD5 HTTP Response
+headers</description> 
+<syntax>ContentDigest on|off</syntax>
+<default>ContentDigest off</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>Options</override>
+<status>Experimental</status>
+<compatibility>Available in Apache 1.1 and later</compatibility>
+
+<usage>
+    <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>
+<example>
+   Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</example>
+
+    <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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>DefaultType</name>
+<description>Sets the MIME content-type that will be sent if the
+server cannot determine a type in any other way</description>
+<syntax>DefaultType <em>MIME-type</em></syntax>
+<default>DefaultType text/html</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+    <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>
+
+<example>
+      <code>DefaultType image/gif</code>
+</example>
+    would be appropriate for a directory which contained many gif
+    images with filenames missing the .gif extension. 
+
+    <p>Note that unlike <directive
+    module="core">ForceType</directive>, 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> 
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Directory</name>
+<description>Enclose a group of directives that apply only to the
+named file-system directory and sub-directories</description>
+<syntax>&lt;Directory <em>directory-path</em>&gt;
+... &lt;/Directory&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p><directive type="section">Directory</directive> and
+    <code>&lt;/Directory&gt;</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>
+<example>
+   &lt;Directory /usr/local/httpd/htdocs&gt;<br />
+&nbsp;&nbsp;Options Indexes FollowSymLinks<br />
+   &lt;/Directory&gt;<br />
+</example>
+
+    <p>Extended regular
+    expressions can also be used, with the addition of the
+    <code>~</code> character. For example:</p>
+<example>
+   &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+</example>
+    would match directories in /www/ that consisted of three
+    numbers. 
+
+    <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>
+
+<example>
+      &lt;Directory /&gt;<br />
+       &nbsp;&nbsp;AllowOverride None<br />
+       &lt;/Directory&gt;<br />
+      <br />
+       &lt;Directory /home/*&gt;<br />
+       &nbsp;&nbsp;AllowOverride FileInfo<br />
+       &lt;/Directory&gt;
+</example>
+    <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>
+
+<example>&lt;Directory ~ abc$&gt;<br />
+       ... directives here ...<br />
+       &lt;/Directory&gt;<br />
+</example>
+
+    <p>The regular expression section won't be considered until after
+    all normal &lt;Directory&gt;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
+    &lt;Directory /&gt; is <samp>Allow from All</samp>. 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>
+
+<example>
+ &lt;Directory /&gt;<br />
+     &nbsp;&nbsp;Order Deny,Allow<br />
+     &nbsp;&nbsp;Deny from All<br />
+ &lt;/Directory&gt;
+</example>
+
+    <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.  <directive type="section">Directory</directive> directives
+    cannot nest, and cannot appear in a <directive module="core"
+    type="section">Limit</directive> or <directive module="core"
+    type="section">LimitExcept</directive> section.</p>
+</usage>
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>DirectoryMatch</name>
+<description>Enclose a group of directives that apply only to 
+file-system directories that match a regular expression and their
+subdirectories</description>
+<syntax>&lt;Directory <em>regex</em>&gt;
+... &lt;/Directory&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p><directive type="section">DirectoryMatch</directive> and
+    <code>&lt;/DirectoryMatch&gt;</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 <directive
+    module="core" type="section">Directory</directive>. However, it
+    takes as an argument a regular expression. For example:</p>
+<example>
+   &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
+</example>
+
+    <p>would match directories in <code>/www/</code> that consisted of three
+    numbers.</p>
+</usage>
+<seealso><directive type="section" module="core">Directory</directive> for
+a description of how regular expressions are mixed in with normal
+<code>&lt;Directory&gt;</code>s</seealso>
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>DocumentRoot</name>
+<description>Sets the directory that forms the main document tree visible
+from the web</description>
+<syntax>DocumentRoot <em>directory-path</em></syntax>
+<default>DocumentRoot /usr/local/apache/htdocs</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <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>
+<example>
+   DocumentRoot /usr/web
+</example>
+    <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 <directive>DocumentRoot</directive> should be specified without
+    a trailing slash.</p>
+</usage>
+<seealso><a href="../urlmapping.html">Mapping URLs to Filesystem
+Location</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ErrorDocument</name>
+<description>Specifies what the server will return to the client
+in case of an error</description>
+<syntax>ErrorDocument <em>error-code document</em></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Quoting syntax for text messages is different in Apache
+2.0</compatibility>
+
+<usage>
+    <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 <directive>ErrorDocument</directive>
+    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>
+
+<example>
+      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"
+</example>
+
+    <p>Note that when you specify an <directive>ErrorDocument</directive>
+    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>
+</usage>
+
+<seealso><a href="../custom-error.html">documentation of
+    customizable responses</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ErrorLog</name>
+<description>Sets the name of the file to which the server
+will log errors</description>    
+<syntax> ErrorLog <em>file-path</em>|syslog[:<em>facility</em>]</syntax>
+<default>ErrorLog logs/error_log (Unix)
+ErrorLog logs/error.log (Windows and OS/2)</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p>The <directive>ErrorLog</directive> 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 <directive
+    module="core">ServerRoot</directive>. 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>
+</usage>
+<seealso><directive module="core">LogLevel</directive></seealso>
+<seealso><a href="../logs.html">Apache Log Files</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>FileETag</name>
+<description>Configures the file attributes used to create the ETag
+HTTP response header</description>
+<syntax>FileETag <em>component</em> ...</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+    <p>
+    The <directive>FileETag</directive> 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 compact="compact">
+     <dt><b>INode</b></dt>
+     <dd>The file's i-node number will be included in the calculation</dd>
+     <dt><b>MTime</b></dt>
+     <dd>The date and time the file was last modified will be included</dd>
+     <dt><b>Size</b></dt>
+     <dd>The number of bytes in the file will be included</dd>
+     <dt><b>All</b></dt>
+     <dd>All available fields will be used (equivalent to
+      '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>')</dd>
+     <dt><b>None</b></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&nbsp;INode&nbsp;MTime&nbsp;Size</code>', and a
+    subdirectory's includes '<code>FileETag&nbsp;-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&nbsp;MTime&nbsp;Size</code>'.
+    </p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Files</name>
+<description>Contains that directives that apply to matched
+filenames</description>
+<syntax>&lt;Files <em>filename</em>&gt; ... &lt;/Files&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <directive type="section">Files</directive> directive
+    provides for access control by filename. It is comparable to the
+    <directive module="core" type="directive">Directory</directive>
+    directive and <directive module="core"
+    type="directive">Location</directive> directives. It should be
+    matched with a <code>&lt;/Files&gt;</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. <directive type="section">Files</directive>
+    sections are processed in the order they appear in the
+    configuration file, after the <directive module="core"
+    type="section">Directory</directive> sections and
+    <code>.htaccess</code> files are read, but before <directive
+    type="section" module="core">Location</directive> sections. Note
+    that <directive type="section">Files</directive> can be nested
+    inside <directive type="section"
+    module="core">Directory</directive> 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>
+<example>
+   &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+</example>
+    <p>would match most common Internet graphics formats. In Apache 1.3
+    and later, <directive module="core"
+    type="section">FilesMatch</directive> is preferred, however.</p>
+
+    <p>Note that unlike <directive type="section"
+    module="core">Directory</directive> and <directive type="section"
+    module="core">Location</directive> sections, <directive
+    type="section">Files</directive> sections can be used inside
+    .htaccess files. This allows users to control access to their own
+    files, at a file-by-file level.</p>
+
+</usage>
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>FilesMatch</name>
+<description>Contains that directives that apply to regular-expression matched
+filenames</description>
+<syntax>&lt;FilesMatch <em>regex</em>&gt; ... &lt;/FilesMatch&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <directive type="section">FilesMatch</directive> directive
+    provides for access control by filename, just as the <directive
+    module="core" type="section">Files</directive> directive
+    does. However, it accepts a regular expression. For example:</p>
+<example>
+   &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+</example>
+
+    <p>would match most common Internet graphics formats.</p>
+</usage>
+
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ForceType</name>
+<description>Forces all matching files to be served with the specified
+MIME content-type</description>
+<syntax>ForceType <em>mime-type</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<compatibility>Moved to the core in Apache 2.0</compatibility>
+
+<usage>
+    <p>When placed into an <code>.htaccess</code> file or a
+    <directive type="section" module="core">Directory</directive>, or
+    <directive type="section" module="core">Location</directive> or 
+    <directive type="section" module="core">Files</directive>
+    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>
+<example>
+    ForceType image/gif
+</example>
+
+    <p>Note that unlike <directive module="core">DefaultType</directive>,
+    this directive overrides all mime-type associations, including
+    filename extensions, that might identify the media type.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>HostnameLookups</name>
+<description>Enables DNS lookups on client IP addresses</description>
+<syntax>HostnameLookups on|off|double</syntax>
+<default>HostnameLookups off</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context></contextlist>
+
+<usage>
+    <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 <module>mod_access</module> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>IdentityCheck</name>
+<description>Enables logging of the RFC1413 identity of the remote 
+user</description>
+<syntax>IdentityCheck on|off</syntax>
+<default>IdentityCheck off</default>
+
+<usage>
+    <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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>IfDefine</name>
+<description>Encloses directives that will be processed only
+if a test is true at startup</description>
+<syntax>&lt;IfDefine [!]<em>parameter-name</em>&gt; <em>...</em>
+    &lt;/IfDefine&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <code>&lt;IfDefine
+    <em>test</em>&gt;...&lt;/IfDefine&gt;</code> section is used to
+    mark directives that are conditional. The directives within an
+    <directive type="section">IfDefine</directive> 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 <directive
+    type="section">IfDefine</directive> 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><directive type="section">IfDefine</directive> sections are
+    nest-able, which can be used to implement simple
+    multiple-parameter tests. Example:</p>
+<example><pre>
+  $ httpd -DReverseProxy ...
+
+  # httpd.conf
+  &lt;IfDefine ReverseProxy&gt;
+  LoadModule rewrite_module modules/mod_rewrite.so
+  LoadModule proxy_module   modules/libproxy.so
+  &lt;/IfDefine&gt;
+</pre></example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>IfModule</name>
+<description>Encloses directives that are processed conditional on the
+presence of absence of a specific module</description>
+<syntax>&lt;IfModule [!]<em>module-name</em>&gt; <em>...</em>
+    &lt;/IfModule&gt;</syntax>     
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <code>&lt;IfModule
+    <em>test</em>&gt;...&lt;/IfModule&gt;</code> section is used to
+    mark directives that are conditional. The directives within an
+    <directive type="section">IfModule</directive> 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 <directive
+    type="section">IfModule</directive> 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 <directive module="mod_so"
+    >LoadModule</directive>. 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><directive type="section">IfModule</directive> sections are
+    nest-able, which can be used to implement simple multiple-module
+    tests.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Include</name>
+<description>Includes other configuration files from within
+the server configuration files</description>
+<syntax>Include <em>file-path</em>|<em>directory-path</em></syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>This directive allows inclusion of other configuration files
+    from within the server configuration files.</p>
+
+    <p>If <directive>Include</directive> 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 
+    <directive module="core">ServerRoot</directive> directory.</p>
+
+    <p>Examples:</p>
+
+<example>
+     Include /usr/local/apache/conf/ssl.conf<br />
+     Include /usr/local/apache/conf/vhosts/
+</example>
+
+     <p>Or, providing paths relative to your <code>ServerRoot</code>
+     directory:</p>
+
+<example>
+     Include conf/ssl.conf<br />
+     Include conf/vhosts/
+</example>
+
+     <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>
+
+<example><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></example>
+
+     <p>This will help in verifying that you are getting only the files
+     that you intended as part of your configuration.</p>
+</usage>
+
+<seealso><a href="../programs/apachectl.html">apachectl</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>KeepAlive</name>
+<description>Turns on or off HTTP persistent connections.</description>
+<syntax>KeepAlive on|off</syntax>
+<default>KeepAlive On</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <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>
+</usage>
+
+<seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>KeepAliveTimeout</name>
+<description>Sets the amount of time the server will wait for subsequent
+requests on a persistent connection</description>
+<syntax>KeepAliveTimeout <em>seconds</em></syntax>
+<default>KeepAliveTimeout 15</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <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
+    <directive module="core">Timeout</directive> directive applies.</p>
+
+    <p>Setting <directive>KeepAliveTimeout</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Limit</name>
+<description>Restrict access controls to only certain HTTP
+methods</description>    
+<syntax>&lt;Limit <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/Limit&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <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
+    <directive type="section">limit</directive> section.</strong></p>
+
+    <p>The purpose of the <directive type="section">Limit</directive>
+    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>&lt;Limit&gt;</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>
+
+<example>
+      <code>&lt;Limit POST PUT DELETE&gt;<br />
+       &nbsp;&nbsp;Require valid-user<br />
+       &lt;/Limit&gt;</code>
+</example>
+    <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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>LimitExcept</name>
+<description>Restrict access controls to all HTTP methods
+except the named ones</description>    
+<syntax>&lt;LimitExcept <em>method</em> [<em>method</em>] ... &gt; ...
+    &lt;/LimitExcept&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p><directive type="section">LimitExcept</directive> and
+    <code>&lt;/LimitExcept&gt;</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 <directive type="section"
+    module="core">Limit</directive> section and can be used to control
+    both standard and nonstandard/unrecognized methods. See the
+    documentation for <directive module="core"
+    type="section">Limit</directive> for more details.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestBody</name>
+<description>Restricts the total size of the HTTP request body sent
+from the client</description>
+<syntax>LimitRequestBody <em>bytes</em></syntax>
+<default>LimitRequestBody 0</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <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 <directive>LimitRequestBody</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestFields</name>
+<description>Limits the number of HTTP request header fields that 
+will be accepted from the client</description>
+<syntax>LimitRequestFields <em>number</em></syntax>
+<default>LimitRequestFields 100</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <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 <directive>LimitRequestFields</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestFieldSize</name>
+<description>Limits the size of the HTTP request header allowed from the
+client</description>
+<syntax>LimitRequestFieldsize <em>bytes</em></syntax>
+<default>LimitRequestFieldsize 8190</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <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 <directive>LimitRequestFieldsize</directive> 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.
+    Under normal conditions, the value should not be changed from
+    the default.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestLine</name>
+<description>Limit the size of the HTTP request line that will be accepted
+from the client</description>
+<syntax>LimitRequestLine <em>bytes</em></syntax>
+<default>LimitRequestLine 8190</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <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 <directive>LimitRequestLine</directive> 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
+    <directive>LimitRequestLine</directive> 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.
+    Under normal conditions, the value should not be changed from
+    the default.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitXMLRequestBody</name>
+<description>Limits the size of an XML-based request body</description>
+<syntax>LimitXMLRequestBody <em>number</em></syntax>
+<default>LimitXMLRequestBody 1000000</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>Limit (in bytes) on maximum size of an XML-based request
+    body. A value of <code>0</code> will disable any checking.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Location</name>
+<description>Applies the enclosed directives only to matching
+URLs</description>
+<syntax>&lt;Location
+    <em>URL-path</em>|<em>URL</em>&gt; ... &lt;/Location&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p>The <directive type="section">Location</directive> directive
+    provides for access control by URL. It is similar to the
+    <directive type="section" module="core">Directory</directive>
+    directive, and starts a subsection which is terminated with a
+    <code>&lt;/Location&gt;</code> directive. <directive
+    type="section">Location</directive> sections are processed in the
+    order they appear in the configuration file, after the <directive
+    type="section" module="core">Directory</directive> sections and
+    <code>.htaccess</code> files are read, and after the <directive
+    type="section" module="core">Files</directive> sections.</p>
+
+    <p>Note that URLs do not have to line up with the filesystem at
+    all, it should be emphasized that &lt;Location&gt; operates
+    completely outside the filesystem.</p>
+
+    <p>For all origin (non-proxy) requests, the URL to be matched
+    is of the form <code>/path/</code>, and you should not include
+    any <code>http://servername</code> prefix. 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>
+<example>
+   &lt;Location ~ "/(extra|special)/data"&gt;
+</example>
+
+    <p>would match URLs that contained the substring "/extra/data" or
+    "/special/data". In Apache 1.3 and above, a new directive
+    <directive type="section" module="core">LocationMatch</directive>
+    exists which behaves identical to the regex version of
+    <directive type="section">Location</directive>.</p>
+
+    <p>The <directive type="section">Location</directive>
+    functionality is especially useful when combined with the
+    <directive module="core">SetHandler</directive>
+    directive. For example, to enable status requests, but allow them
+    only from browsers at foo.com, you might use:</p>
+<example>
+    &lt;Location /status&gt;<br />
+    SetHandler server-status<br />
+    Order Deny,Allow<br />
+    Deny from all<br />
+    Allow from .foo.com<br />
+    &lt;/Location&gt;
+</example>
+
+<note><title>Note about / (slash)</title> <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 <directive type="section"
+module="core">LocationMatch</directive> directive and the regex
+version of <directive type="section">Location</directive> require you
+to explicitly specify multiple slashes if that is your intention.  For
+example, <code>&lt;LocationMatch ^/abc&gt;</code> would match the
+request URL <code>/abc</code> but not the request URL
+<code>//abc</code>. The (non-regex) <directive
+type="section">Location</directive> directive behaves similarly when
+used for proxy requests. But when (non-regex) <directive
+type="section">Location</directive> is used for non-proxy requests it
+will implicitly match multiple slashes with a single slash. For
+example, if you specify <code>&lt;Location /abc/def&gt;</code> and the
+request is to <code>/abc//def</code> then it will match.</p>
+</note>
+</usage>
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>LocationMatch</name>
+<description>Applies the enclosed directives only to regular-expression 
+matching URLs</description>
+<syntax>&lt;LocationMatch
+    <em>regex</em>&gt; ... &lt;/Location&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p>The <directive type="section">LocationMatch</directive> directive
+    provides for access control by URL, in an identical manner to
+    <directive module="core"
+    type="section">Location</directive>. However, it takes a regular
+    expression as an argument instead of a simple string.  For
+    example:</p>
+<example>
+   &lt;LocationMatch "/(extra|special)/data"&gt;
+</example>
+
+    <p>would match URLs that contained the substring "/extra/data"
+    or "/special/data".</p>
+</usage>
+
+<seealso><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</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LogLevel</name>
+<description>Controls the verbosity of the ErrorLog</description>
+<syntax>LogLevel <em>level</em></syntax>
+<default>LogLevel warn</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p><directive>LogLevel</directive> adjusts the verbosity of the
+    messages recorded in the error logs (see <directive
+    module="core">ErrorLog</directive> directive). The following
+    <em>level</em>s are available, in order of decreasing
+    significance:</p>
+
+    <table>
+      <tr>
+        <th align="LEFT"><strong>Level</strong> </th>
+
+        <th align="LEFT"><strong>Description</strong> </th>
+      </tr>
+
+      <tr>
+        <th>
+        </th>
+
+        <th align="LEFT"><strong>Example</strong> </th>
+      </tr>
+
+      <tr>
+        <td><code>emerg</code> </td>
+
+        <td>Emergencies - system is unusable.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Child cannot open lock file. Exiting"</td>
+      </tr>
+
+      <tr>
+        <td><code>alert</code> </td>
+
+        <td>Action must be taken immediately.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"getpwuid: couldn't determine user name from uid"</td>
+      </tr>
+
+      <tr>
+        <td><code>crit</code> </td>
+
+        <td>Critical Conditions.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"socket: Failed to get a socket, exiting child"</td>
+      </tr>
+
+      <tr>
+        <td><code>error</code> </td>
+
+        <td>Error conditions.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"Premature end of script headers"</td>
+      </tr>
+
+      <tr>
+        <td><code>warn</code> </td>
+
+        <td>Warning conditions.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </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>
+      </tr>
+
+      <tr>
+        <td>
+        </td>
+
+        <td>"httpd: caught SIGBUS, attempting to dump core in
+        ..."</td>
+      </tr>
+
+      <tr>
+        <td><code>info</code> </td>
+
+        <td>Informational.</td>
+      </tr>
+
+      <tr>
+        <td>
+        </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>
+      </tr>
+
+      <tr>
+        <td>
+        </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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>MaxKeepAliveRequests</name>
+<description>Sets the number of requests allowed on a persistent 
+connection</description>
+<syntax>MaxKeepAliveRequests <em>number</em></syntax>
+<default>MaxKeepAliveRequests 100</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>The <directive>MaxKeepAliveRequests</directive> directive
+    limits the number of requests allowed per connection when
+    <directive module="core" >KeepAlive</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>NameVirtualHost</name>
+<description>Configures an IP address for name-virtual
+hosting</description>
+<syntax>NameVirtualHost <em>addr</em>[:<em>port</em>]</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>The <directive>NameVirtualHost</directive> 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>
+
+<example>NameVirtualHost 111.22.33.44</example>
+
+    <p>With the <directive>NameVirtualHost</directive> 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
+    <directive>NameVirtualHost</directive> IP Address (unless for some
+    reason you specify <directive>NameVirtualHost</directive> 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>
+
+<example>NameVirtualHost 111.22.33.44:8080</example>
+
+     <p>IPv6 addresses must be enclosed in square brackets, as shown
+     in the following example:</p>
+<example>NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080</example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Options</name>
+<description>Configures what features are available in a particular
+directory</description>
+<syntax>Options
+    [+|-]<em>option</em> [[+|-]<em>option</em>] ...</syntax>
+<default>Options All</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>Options</override>
+
+<usage>
+    <p>The <directive>Options</directive> 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 <directive type="section"
+      module="core">Directory</directive> sections.<br />
+      <strong>Note</strong>: this option gets ignored if set inside a
+      <directive type="section" module="core">Location</directive>
+      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 <directive module="core" type="section">Location</directive>
+      section.</dd>
+    </dl>
+    <p>Normally, if multiple <directive>Options</directive> 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 <directive>Options</directive> 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>
+
+
+<example>&lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options Includes<br />
+       &lt;/Directory&gt;
+</example>
+    <p>then only <code>Includes</code> will be set for the
+    /web/docs/spec directory. However if the second
+    <directive>Options</directive> directive uses the + and - symbols:</p> 
+
+<example>
+      &lt;Directory /web/docs&gt;<br />
+       Options Indexes FollowSymLinks<br />
+       &lt;/Directory&gt;<br />
+       &lt;Directory /web/docs/spec&gt;<br />
+       Options +Includes -Indexes<br />
+       &lt;/Directory&gt;
+</example>
+    <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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Require</name>
+<description>Selects which authenticated users can access
+a resource</description>    
+<syntax>Require <em>entity-name</em> [<em>entity-name</em>] ...</syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <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><directive>Require</directive> must be accompanied by
+    <directive module="core">AuthName</directive> and <directive
+    module="core">AuthType</directive> directives, and directives such
+    as <directive module="mod_auth">AuthUserFile</directive>
+    and <directive module="mod_auth">AuthGroupFile</directive> (to
+    define users and groups) in order to work correctly. Example:</p>
+
+<example>
+       AuthType Basic<br />
+       AuthName "Restricted Directory"<br />
+       AuthUserFile /web/users<br />
+       AuthGroupFile /web/groups<br />
+       Require group admin<br />
+</example>
+
+    <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 <directive>Require</directive> statement into a
+    <directive module="core" type="section">Limit</directive>
+    section.</p>
+</usage>
+<seealso><directive module="core">Satisfy</directive></seealso>
+<seealso><module>mod_access</module></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitCPU</name>
+<description>Limits the CPU consumption of processes launched
+by Apache children</description>
+<syntax>RLimitCPU <em>number</em>|max [<em>number</em>|max]</syntax>
+<default>Unset; uses operating system defaults</default>
+<contextlist>><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Moved in version 2.0 to
+    the <a href="../mpm.html">MPMs</a></compatibility>
+
+<usage>
+    <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>
+</usage>
+<seealso><directive module="core">RLimitMEM</directive></seealso>
+<seealso><directive module="core">RLimitNPROC</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitMEM</name>
+<description>Limits the memory consumption of processes launched
+by Apache children</description>
+<syntax>RLimitMEM <em>number</em>|max [<em>number</em>|max]</syntax>
+<default>Unset; uses operating system defaults</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Moved in version 2.0 to the <a
+href="../mpm.html">MPMs</a>.</compatibility>
+
+<usage>
+    <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>
+</usage>
+<seealso><directive module="core">RLimitCPU</directive></seealso>
+<seealso><directive module="core">RLimitNPROC</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitNPROC</name>
+<description>Limits the number of processes that can be launched by 
+processes launched by Apache children</description>
+<syntax>RLimitNPROC <em>number</em>|max [<em>number</em>|max]</syntax>
+<default>Unset; uses operating system defaults</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Moved in version 2.0 to the <a
+href="../mpm.html">MPMs</a>.</compatibility>
+
+<usage>
+    <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>
+</usage>
+<seealso><directive module="core">RLimitMEM</directive></seealso>
+<seealso><directive module="core">RLimitCPU</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Satisfy</name>
+<description>Configures how host-level access control and user authentication
+interact</description>
+<syntax>Satisfy any|all</syntax>
+<default>Satisfy all</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>Access policy if both <directive
+    module="core">Allow</directive> and <directive
+    module="core">Require</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ScriptInterpreterSource</name>
+<description>Controls how the interpreter for CGI scripts is
+located</description>
+<syntax>ScriptInterpreterSource registry|script</syntax>
+<default>ScriptInterpreterSource script</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<compatibility>Win32 only</compatibility>
+
+<usage>
+    <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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerAdmin</name>
+<description>Sets the email address that the server includes in error
+messages sent to the client</description>
+<syntax>ServerAdmin <em>email-address</em></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+    <p>The <directive>ServerAdmin</directive> 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>
+<example>ServerAdmin www-admin@foo.bar.com</example>
+    <p>as users do not always mention that they are talking about the
+    server!</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerAlias</name>
+<description>Sets alternate names for a host used when matching requests
+to name-virtual hosts</description>
+<syntax>ServerAlias <em>hostname</em> [<em>hostname</em>] ...</syntax>
+<contextlist><context>virtual host</context></contextlist>
+
+<usage>
+    <p>The <directive>ServerAlias</directive> directive sets the
+    alternate names for a host, for use with <a
+    href="../vhosts/name-based.html">name-based virtual hosts</a>.</p>
+
+<example>
+    &lt;VirtualHost *&gt;<br />
+    ServerName server.domain.com<br />
+    ServerAlias server server2.domain.com server2<br />
+    ...<br />
+    &lt;/VirtualHost&gt;
+</example>
+</usage>
+<seealso><a href="../vhosts/">Apache Virtual Host documentation</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerName</name>
+<description>Sets the hostname and port that the server uses to identify
+itself</description>
+<syntax>ServerName <em>fully-qualified-domain-name[:port]</em></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>In version 2.0, this
+     directive supersedes the functionality of the <directive>Port</directive>
+     directive from version 1.3.</compatibility>
+
+<usage>
+    <p>The <directive>ServerName</directive> 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>
+
+<example>ServerName www.example.com:80</example>
+
+    <p>If no <directive>ServerName</directive> 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
+    <directive>ServerName</directive> directive.</p>
+
+    <p>If you are using <a
+    href="../vhosts/name-based.html">name-based virtual hosts</a>,
+    the <directive>ServerName</directive> inside a
+    <directive type="section" module="core">VirtualHost</directive>
+    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
+    <directive module="core">UseCanonicalName</directive> directive for
+    settings which determine whether self-referential URL's (e.g., by the
+    <module>mod_dir</module> module) will refer to the
+    specified port, or to the port number given in the client's request.
+    </p>
+</usage>
+
+<seealso><a href="../dns-caveats.html">DNS Issues</a></seealso>
+<seealso><a href="../vhosts/">Apache virtual host
+    documentation</a></seealso>
+<seealso><directive module="core">UseCanonicalName</directive></seealso>
+<seealso><directive module="core">NameVirtualHost</directive></seealso>
+<seealso><directive module="core">ServerAlias</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerPath</name>
+<description>Sets the legacy URL pathname for a name-virtual host that
+is accessed by an incompatible browser</description>
+<syntax>ServerPath <em>directory-path</em></syntax>
+<contextlist><context>virtual host</context></contextlist>
+
+<usage>
+    <p>The <directive>ServerPath</directive> directive sets the legacy
+    URL pathname for a host, for use with <a
+    href="../vhosts/">name-based virtual hosts</a>.</p>
+</usage>
+<seealso><a href="../vhosts/">Apache Virtual Host documentation</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerRoot</name>
+<description>Sets the base directory for the server installation</description>
+<syntax>ServerRoot <em>directory-path</em></syntax>
+<default>ServerRoot /usr/local/apache</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>The <directive>ServerRoot</directive> 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>
+</usage>
+<seealso><a href="../invoking.html">the <code>-d</code>
+    option to <code>httpd</code></a></seealso>
+<seealso><a href="../misc/security_tips.html#serverroot">the
+    security tips</a> for information on how to properly set
+    permissions on the ServerRoot</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerSignature</name>
+<description>Configures the footer on server-generated documents</description>
+<syntax>ServerSignature On|Off|EMail</syntax>
+<default>ServerSignature Off</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <directive>ServerSignature</directive> 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 <samp>Off</samp>
+    setting, which is the default, suppresses the error line (and is
+    therefore compatible with the behavior of Apache-1.2 and
+    below). The <samp>On</samp> setting simply adds a line with the
+    server version number and <directive
+    module="core">ServerName</directive> of the serving virtual host,
+    and the <samp>EMail</samp> setting additionally creates a
+    "mailto:" reference to the <directive
+    module="core">ServerAdmin</directive> of the referenced
+    document.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerTokens</name>
+<description>Configures the Server HTTP response header</description>
+<syntax>ServerTokens Minimal|ProductOnly|OS|Full</syntax>
+<default>ServerTokens Full</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>This directive controls whether <samp>Server</samp> 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>): <samp>Server:
+      Apache</samp></dd>
+
+      <dt><code>ServerTokens Min[imal]</code></dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server:
+      Apache/1.3.0</samp></dd>
+
+      <dt><code>ServerTokens OS</code></dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+      (Unix)</samp></dd>
+
+      <dt><code>ServerTokens Full</code> (or not specified)</dt>
+
+      <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+      (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+    </dl>
+
+    <p>This setting applies to the entire server, and cannot be
+    enabled or disabled on a virtualhost-by-virtualhost basis.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetHandler</name>
+<description>Forces all matching files to be processed by a
+handler</description>
+<syntax>SetHandler <em>handler-name</em></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<compatibility>Moved into the core in Apache 2.0</compatibility>
+
+<usage>
+    <p>When placed into an <code>.htaccess</code> file or a
+    <directive type="section" module="core">Directory</directive> or 
+    <directive type="section" module="core">Location</directive>
+    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>
+<example>
+    SetHandler imap-file
+</example>
+
+    <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>
+<example>
+    &lt;Location /status&gt;<br />
+    SetHandler server-status<br />
+    &lt;/Location&gt;
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetInputFilter</name>
+<description>Sets the filters that will process client requests and POST
+input</description>
+<syntax>SetInputFilter <em>filter</em>[<em>;filter</em>...]</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <directive>SetInputFilter</directive> 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
+    <directive module="mod_mime">AddInputFilter</directive>
+    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>
+</usage>
+<seealso><a href="../filter.html">Filters</a> documentation</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetOutputFilter</name>
+<description>Sets the filters that will process responses from the
+server</description>
+<syntax>SetOutputFilter <em>filter</em> [<em>filter</em>] ...</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+
+<usage>
+    <p>The <directive>SetOutputFilter</directive> 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
+    <directive module="mod_mime">AddOutputFilter</directive>
+    directive.</p>
+
+    <p>For example, the following configuration will process all files
+    in the <code>/www/data/</code> directory for server-side
+    includes.</p>
+<example>
+&lt;Directory /www/data/&gt;<br />
+&nbsp;&nbsp;SetOutputFilter INCLUDES<br />
+&lt;/Directory&gt;
+</example>
+
+    <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>
+</usage>
+<seealso><a href="../filter.html">Filters</a> documentation</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>TimeOut</name>
+<description>Defines the amount of time the server will wait for
+certain events before failing a request</description>
+<syntax>TimeOut <em>number</em></syntax>
+<default>TimeOut 300</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p>The <directive>TimeOut</directive> 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>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>UseCanonicalName</name>
+<description>Configures how the server determines its own name and
+port</description>
+<syntax>UseCanonicalName on|off|dns</syntax>
+<default>UseCanonicalName on</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>Options</override>
+
+<usage>
+    <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 <directive
+    module="core">ServerName</directive> 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
+    <directive>UseCanonicalName</directive> 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>
+</usage>
+<seealso><directive module="core">ServerName</directive></seealso>
+<seealso><directive module="mpm_common">Listen</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>VirtualHost</name>
+<description>Contains directives that apply only to a specific
+hostname or IP address</description>    
+<syntax>&lt;VirtualHost
+    <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
+    ...&gt; ... &lt;/VirtualHost&gt;</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+    <p><directive type="section">VirtualHost</directive> and
+    <code>&lt;/VirtualHost&gt;</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 <directive type="section">VirtualHost</directive>
+    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>
+    Example: 
+
+<example>&lt;VirtualHost 10.1.2.3&gt;<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 />
+       &lt;/VirtualHost&gt;
+</example>
+
+     <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>
+
+<example>     
+&lt;VirtualHost [fe80::a00:20ff:fea7:ccea]&gt;<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 />
+        &lt;/VirtualHost&gt;
+</example>  
+
+    <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 <directive module="mpm_common">Listen</directive>
+    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 <directive
+    type="section">VirtualHost</directive> does <strong>not</strong>
+    affect what addresses Apache listens on.  You may need to ensure
+    that Apache is listening on the correct addresses using <directive
+    module="mpm_common">Listen</directive>.</p>
+</usage>
+<seealso><a href="../vhosts/">Apache Virtual Host documentation</a></seealso>
+<seealso><a href="../dns-caveats.html">Warnings about DNS and
+    Apache</a></seealso>
+<seealso><a href="../bind.html">Setting
+    which addresses and ports Apache uses</a></seealso>
+<seealso><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</seealso>
+</directivesynopsis>
+
+</modulesynopsis>
\ No newline at end of file