]> granicus.if.org Git - apache/blob - docs/manual/mod/core.html.en
update transformation
[apache] / docs / manual / mod / core.html.en
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>core - Apache HTTP Server</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
16 <p class="apache">Apache HTTP Server Version 2.1</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="../">Version 2.1</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache Core Features</h1>
23 <div class="toplang">
24 <p><span>Available Languages: </span><a href="../de/mod/core.html">&nbsp;de&nbsp;</a> | <a href="../en/mod/core.html">&nbsp;en&nbsp;</a></p>
25 </div>
26 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Core Apache HTTP Server features that are always
27 available</td></tr>
28 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table>
29 </div>
30 <div id="quickview"><h3 class="directives">Directives</h3>
31 <ul id="toc">
32 <li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
33 <li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
34 <li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
35 <li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li>
36 <li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
37 <li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li>
38 <li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#directory">&lt;Directory&gt;</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#files">&lt;Files&gt;</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#ifdefine">&lt;IfDefine&gt;</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#limit">&lt;Limit&gt;</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
65 <li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#location">&lt;Location&gt;</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
88 <li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
91 </ul>
92 </div>
93
94 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
95 <div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
96 <table class="directive">
97 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Resources accept trailing pathname information</td></tr>
98 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
99 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
100 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
101 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
102 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
103 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
104 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.0.30 and later</td></tr>
105 </table>
106
107     <p>This directive controls whether requests that contain trailing
108     pathname information that follows an actual filename (or
109     non-existent file in an existing directory) will be accepted or
110     rejected.  The trailing pathname information can be made
111     available to scripts in the <code>PATH_INFO</code> environment
112     variable.</p>
113
114     <p>For example, assume the location <code>/test/</code> points to
115     a directory that contains only the single file
116     <code>here.html</code>.  Then requests for
117     <code>/test/here.html/more</code> and
118     <code>/test/nothere.html/more</code> both collect
119     <code>/more</code> as <code>PATH_INFO</code>.</p>
120
121     <p>The three possible arguments for the
122     <code class="directive">AcceptPathInfo</code> directive are:</p>
123     <dl>
124     <dt><code>Off</code></dt><dd>A request will only be accepted if it
125     maps to a literal path that exists.  Therefore a request with
126     trailing pathname information after the true filename such as
127     <code>/test/here.html/more</code> in the above example will return
128     a 404 NOT FOUND error.</dd>
129
130     <dt><code>On</code></dt><dd>A request will be accepted if a
131     leading path component maps to a file that exists.  The above
132     example <code>/test/here.html/more</code> will be accepted if
133     <code>/test/here.html</code> maps to a valid file.</dd>
134
135     <dt><code>Default</code></dt><dd>The treatment of requests with
136     trailing pathname information is determined by the <a href="../handler.html">handler</a> responsible for the request.
137     The core handler for normal files defaults to rejecting
138     <code>PATH_INFO</code> requests. 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
139     <code>PATH_INFO</code> by default.</dd>
140     </dl>
141
142     <p>The primary purpose of the <code>AcceptPathInfo</code>
143     directive is to allow you to override the handler's choice of
144     accepting or rejecting <code>PATH_INFO</code>. This override is required,
145     for example, when you use a <a href="../filter.html">filter</a>, such
146     as <a href="mod_include.html">INCLUDES</a>, to generate content
147     based on <code>PATH_INFO</code>.  The core handler would usually reject
148     the request, so you can use the following configuration to enable
149     such a script:</p>
150
151     <div class="example"><p><code>
152       &lt;Files "mypaths.shtml"&gt;<br />
153       <span class="indent">
154         Options +Includes<br />
155         SetOutputFilter INCLUDES<br />
156         AcceptPathInfo On<br />
157       </span>
158       &lt;/Files&gt;
159     </code></p></div>
160
161
162 </div>
163 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
164 <div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2>
165 <table class="directive">
166 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the distributed configuration file</td></tr>
167 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr>
168 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
169 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
170 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
171 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
172 </table>
173     <p>While processing a request the server looks for
174     the first existing configuration file from this list of names in
175     every directory of the path to the document, if distributed
176     configuration files are <a href="#allowoverride">enabled for that
177     directory</a>. For example:</p>
178
179     <div class="example"><p><code>
180       AccessFileName .acl
181     </code></p></div>
182
183     <p>before returning the document
184     <code>/usr/local/web/index.html</code>, the server will read
185     <code>/.acl</code>, <code>/usr/.acl</code>,
186     <code>/usr/local/.acl</code> and <code>/usr/local/web/.acl</code>
187     for directives, unless they have been disabled with</p>
188
189     <div class="example"><p><code>
190       &lt;Directory /&gt;<br />
191       <span class="indent">
192         AllowOverride None<br />
193       </span>
194       &lt;/Directory&gt;
195     </code></p></div>
196
197 <h3>See also</h3>
198 <ul>
199 <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
200 <li><a href="../configuring.html">Configuration Files</a></li>
201 <li><a href="../howto/htaccess.html">.htaccess Files</a></li>
202 </ul>
203 </div>
204 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
205 <div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2>
206 <table class="directive">
207 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default character set to be added for a
208 response without an explicit character set</td></tr>
209 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr>
210 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
211 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
212 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
213 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
214 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
215 </table>
216     <p>This directive specifies the name of the character set that
217     will be added to any response that does not have any parameter on
218     the content type in the HTTP headers. This will override any
219     character set specified in the body of the document via a
220     <code>META</code> tag. A setting of <code>AddDefaultCharset
221     Off</code> disables this
222     functionality. <code>AddDefaultCharset On</code> enables
223     Apache's internal default charset of <code>iso-8859-1</code> as
224     required by the directive. You can also specify an alternate
225     <var>charset</var> to be used. For example:</p>
226
227     <div class="example"><p><code>
228       AddDefaultCharset utf-8
229     </code></p></div>
230
231 </div>
232 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
233 <div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a></h2>
234 <table class="directive">
235 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigns an output filter to a particular MIME-type</td></tr>
236 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...]
237 <var>MIME-type</var> [<var>MIME-type</var>] ...</code></td></tr>
238 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
239 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
240 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
241 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
242 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.0.33 and later</td></tr>
243 </table>
244     <p>This directive activates a particular output <a href="../filter.html">filter</a> for a request depending on the
245     response MIME-type.</p>
246
247     <p>The following example uses the <code>DEFLATE</code> filter, which
248     is provided by <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. It will compress all
249     output (either static or dynamic) which is labeled as
250     <code>text/html</code> or <code>text/plain</code> before it is sent
251     to the client.</p>
252
253     <div class="example"><p><code>
254       AddOutputFilterByType DEFLATE text/html text/plain
255     </code></p></div>
256
257     <p>If you want the content to be processed by more than one filter, their
258     names have to be separated by semicolons. It's also possible to use one
259     <code class="directive">AddOutputFilterByType</code> directive for each of
260     these filters.</p>
261
262     <p>The configuration below causes all script output labeled as
263     <code>text/html</code> to be processed at first by the
264     <code>INCLUDES</code> filter and then by the <code>DEFLATE</code>
265     filter.</p>
266
267     <div class="example"><p><code>
268     &lt;Location /cgi-bin/&gt;<br />
269     <span class="indent">
270       Options Includes<br />
271       AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
272     </span>
273     &lt;/Location&gt;
274     </code></p></div>
275
276     <div class="warning"><h3>Note</h3>
277       <p>Enabling filters with <code class="directive">AddOutputFilterByType</code>
278       may fail partially or completely in some cases. For expample, no
279       filters are applied if the MIME-type could not be determined  and falls
280       back to the <code class="directive"><a href="#defaulttype">DefaultType</a></code> setting,
281       even if the <code class="directive"><a href="#defaulttype">DefaultType</a></code> is the
282       same.</p>
283
284       <p>However, if you want to make sure, that the filters will be
285       applied, assign the content type to a resource explicitely, for
286       example with <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> or
287       <code class="directive"><a href="#forcetype">ForceType</a></code>. Setting the
288       content type within a (non-nph) CGI script is also safe.</p>
289
290       <p>The by-type output filters are never applied on proxy requests.</p>
291     </div>
292
293 <h3>See also</h3>
294 <ul>
295 <li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li>
296 <li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li>
297 <li><a href="../filter.html">filters</a></li>
298 </ul>
299 </div>
300 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
301 <div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2>
302 <table class="directive">
303 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types of directives that are allowed in
304 .htaccess files</td></tr>
305 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>directive-type</var>
306 [<var>directive-type</var>] ...</code></td></tr>
307 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowOverride All</code></td></tr>
308 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
309 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
310 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
311 </table>
312     <p>When the server finds an <code>.htaccess</code> file (as
313     specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>)
314     it needs to know which directives declared in that file can override
315     earlier configuration directives.</p>
316
317     <div class="note"><h3>Only available in &lt;Directory&gt; sections</h3>
318     <code class="directive">AllowOverride</code> is valid only in
319     <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>
320     sections, not in <code class="directive"><a href="#location">&lt;Location&gt;</a></code> or <code class="directive"><a href="#files">&lt;Files&gt;</a></code> sections.
321     </div>
322
323     <p>When this directive is set to <code>None</code>, then
324     <a href="#accessfilename">.htaccess</a> files are completely ignored.
325     In this case, the server will not even attempt to read
326     <code>.htaccess</code> files in the filesystem.</p>
327
328     <p>When this directive is set to <code>All</code>, then any
329     directive which has the .htaccess <a href="directive-dict.html#Context">Context</a> is allowed in
330     <code>.htaccess</code> files.</p>
331
332     <p>The <var>directive-type</var> can be one of the following
333     groupings of directives.</p>
334
335     <dl>
336       <dt>AuthConfig</dt>
337
338       <dd>
339
340       Allow use of the authorization directives (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
341       <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
342       <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
343       <code class="directive"><a href="#authname">AuthName</a></code>,
344       <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code>, <em>etc.</em>).</dd>
345
346       <dt>FileInfo</dt>
347
348       <dd>
349       Allow use of the directives controlling document types (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
350       <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, and
351       <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* and Remove*
352       directives, <em>etc.</em>).</dd>
353
354       <dt>Indexes</dt>
355
356       <dd>
357       Allow use of the directives controlling directory indexing
358       (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
359       <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
360       <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
361       <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>,
362       <em>etc.</em>).</dd>
363
364       <dt>Limit</dt>
365
366       <dd>
367       Allow use of the directives controlling host access (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> and <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd>
368
369       <dt>Options</dt>
370
371       <dd>
372       Allow use of the directives controlling specific directory
373       features (<code class="directive"><a href="#options">Options</a></code> and
374       <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>).</dd>
375     </dl>
376
377     <p>Example:</p>
378
379     <div class="example"><p><code>
380       AllowOverride AuthConfig Indexes
381     </code></p></div>
382
383 <h3>See also</h3>
384 <ul>
385 <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
386 <li><a href="../configuring.html">Configuration Files</a></li>
387 <li><a href="../howto/htaccess.html">.htaccess Files</a></li>
388 </ul>
389 </div>
390 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
391 <div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">Directive</a></h2>
392 <table class="directive">
393 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authorization realm for use in HTTP
394 authentication</td></tr>
395 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthName <var>auth-domain</var></code></td></tr>
396 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
397 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
398 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
399 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
400 </table>
401     <p>This directive sets the name of the authorization realm for a
402     directory. This realm is given to the client so that the user
403     knows which username and password to send.
404     <code class="directive">AuthName</code> takes a single argument; if the
405     realm name contains spaces, it must be enclosed in quotation
406     marks.  It must be accompanied by <code class="directive"><a href="#authtype">AuthType</a></code> and <code class="directive"><a href="#require">Require</a></code> directives, and directives such
407     as <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> and
408     <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> to
409     work.</p>
410
411    <p>For example:</p>
412
413    <div class="example"><p><code>
414      AuthName "Top Secret"
415    </code></p></div>
416
417     <p>The string provided for the <code>AuthName</code> is what will
418     appear in the password dialog provided by most browsers.</p>
419
420 <h3>See also</h3>
421 <ul>
422 <li><a href="../howto/auth.html">Authentication, Authorization, and
423     Access Control</a></li>
424 </ul>
425 </div>
426 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
427 <div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">Directive</a></h2>
428 <table class="directive">
429 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type of user authentication</td></tr>
430 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthType Basic|Digest</code></td></tr>
431 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
432 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
433 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
434 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
435 </table>
436     <p>This directive selects the type of user authentication for a
437     directory. Only <code>Basic</code> and <code>Digest</code> are
438     currently implemented.
439
440      It must be accompanied by <code class="directive"><a href="#authname">AuthName</a></code> and <code class="directive"><a href="#require">Require</a></code> directives, and directives such
441      as <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> and
442      <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> to
443      work.</p>
444
445 <h3>See also</h3>
446 <ul>
447 <li><a href="../howto/auth.html">Authentication, Authorization,
448 and Access Control</a></li>
449 </ul>
450 </div>
451 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
452 <div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2>
453 <table class="directive">
454 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique for locating the interpreter for CGI
455 scripts</td></tr>
456 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr>
457 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
458 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
459 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
460 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
461 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>NetWare only</td></tr>
462 </table>
463     <p>This directive is used to control how Apache finds the
464     interpreter used to run CGI scripts. For example, setting
465     <code>CGIMapExtension sys:\foo.nlm .foo</code> will
466     cause all CGI script files with a <code>.foo</code> extension to
467     be passed to the FOO interpreter.</p>
468
469 </div>
470 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
471 <div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2>
472 <table class="directive">
473 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the generation of Content-MD5 HTTP Response
474 headers</td></tr>
475 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr>
476 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ContentDigest Off</code></td></tr>
477 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
478 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
479 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
480 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
481 </table>
482     <p>This directive enables the generation of
483     <code>Content-MD5</code> headers as defined in RFC1864
484     respectively RFC2068.</p>
485
486     <p>MD5 is an algorithm for computing a "message digest"
487     (sometimes called "fingerprint") of arbitrary-length data, with
488     a high degree of confidence that any alterations in the data
489     will be reflected in alterations in the message digest.</p>
490
491     <p>The <code>Content-MD5</code> header provides an end-to-end
492     message integrity check (MIC) of the entity-body. A proxy or
493     client may check this header for detecting accidental
494     modification of the entity-body in transit. Example header:</p>
495
496     <div class="example"><p><code>
497       Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
498     </code></p></div>
499
500     <p>Note that this can cause performance problems on your server
501     since the message digest is computed on every request (the
502     values are not cached).</p>
503
504     <p><code>Content-MD5</code> is only sent for documents served
505     by the <code class="module"><a href="../mod/core.html">core</a></code>, and not by any module. For example,
506     SSI documents, output from CGI scripts, and byte range responses
507     do not have this header.</p>
508
509 </div>
510 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
511 <div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2>
512 <table class="directive">
513 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>MIME content-type that will be sent if the
514 server cannot determine a type in any other way</td></tr>
515 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>MIME-type</var></code></td></tr>
516 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DefaultType text/plain</code></td></tr>
517 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
518 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
519 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
520 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
521 </table>
522     <p>There will be times when the server is asked to provide a
523     document whose type cannot be determined by its MIME types
524     mappings.</p>
525
526     <p>The server must inform the client of the content-type of the
527     document, so in the event of an unknown type it uses the
528     <code>DefaultType</code>. For example:</p>
529
530     <div class="example"><p><code>
531       DefaultType image/gif
532     </code></p></div>
533
534     <p>would be appropriate for a directory which contained many GIF
535     images with filenames missing the <code>.gif</code> extension.</p>
536
537     <p>Note that unlike <code class="directive"><a href="#forcetype">ForceType</a></code>, this directive only
538     provides the default mime-type. All other mime-type definitions,
539     including filename extensions, that might identify the media type
540     will override this default.</p>
541
542 </div>
543 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
544 <div class="directive-section"><h2><a name="Directory" id="Directory">&lt;Directory&gt;</a> <a name="directory" id="directory">Directive</a></h2>
545 <table class="directive">
546 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that apply only to the
547 named file-system directory and sub-directories</td></tr>
548 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Directory <var>directory-path</var>&gt;
549 ... &lt;/Directory&gt;</code></td></tr>
550 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
551 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
552 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
553 </table>
554     <p><code class="directive">&lt;Directory&gt;</code> and
555     <code>&lt;/Directory&gt;</code> are used to enclose a group of
556     directives that will apply only to the named directory and
557     sub-directories of that directory. Any directive that is allowed
558     in a directory context may be used. <var>Directory-path</var> is
559     either the full path to a directory, or a wild-card string using
560     Unix shell-style matching. In a wild-card string, <code>?</code> matches
561     any single character, and <code>*</code> matches any sequences of
562     characters. You may also use <code>[]</code> character ranges. None
563     of the wildcards match a `/' character, so <code>&lt;Directory
564     /*/public_html&gt;</code> will not match
565     <code>/home/user/public_html</code>, but <code>&lt;Directory
566     /home/*/public_html&gt;</code> will match. Example:</p>
567
568     <div class="example"><p><code>
569       &lt;Directory /usr/local/httpd/htdocs&gt;<br />
570       <span class="indent">
571         Options Indexes FollowSymLinks<br />
572       </span>
573       &lt;/Directory&gt;
574     </code></p></div>
575
576     <div class="note">
577       <p>Be careful with the <var>directory-path</var> arguments:
578       They have to literally match the filesystem path which Apache uses
579       to access the files. Directives applied to a particular
580       <code>&lt;Directory&gt;</code> will not apply to files accessed from
581       that same directory via a different path, such as via different symbolic
582       links.</p>
583     </div>
584
585     <p>Extended regular
586     expressions can also be used, with the addition of the
587     <code>~</code> character. For example:</p>
588
589     <div class="example"><p><code>
590       &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
591     </code></p></div>
592
593     <p>would match directories in <code>/www/</code> that consisted of
594     three numbers.</p>
595
596     <p>If multiple (non-regular expression) <code class="directive">&lt;Directory&gt;</code> sections
597     match the directory (or one of its parents) containing a document,
598     then the directives are applied in the order of shortest match
599     first, interspersed with the directives from the <a href="#accessfilename">.htaccess</a> files. For example,
600     with</p>
601
602     <div class="example"><p><code>
603       &lt;Directory /&gt;<br />
604       <span class="indent">
605         AllowOverride None<br />
606       </span>
607       &lt;/Directory&gt;<br />
608       <br />
609       &lt;Directory /home/&gt;<br />
610       <span class="indent">
611         AllowOverride FileInfo<br />
612       </span>
613       &lt;/Directory&gt;
614     </code></p></div>
615
616     <p>for access to the document <code>/home/web/dir/doc.html</code>
617     the steps are:</p>
618
619     <ul>
620       <li>Apply directive <code>AllowOverride None</code>
621       (disabling <code>.htaccess</code> files).</li>
622
623       <li>Apply directive <code>AllowOverride FileInfo</code> (for
624       directory <code>/home</code>).</li>
625
626       <li>Apply any <code>FileInfo</code> directives in
627       <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> and
628       <code>/home/web/dir/.htaccess</code> in that order.</li>
629     </ul>
630
631     <p>Regular expressions are not considered until after all of the
632     normal sections have been applied. Then all of the regular
633     expressions are tested in the order they appeared in the
634     configuration file. For example, with</p>
635
636     <div class="example"><p><code>
637       &lt;Directory ~ abc$&gt;<br />
638       <span class="indent">
639         # ... directives here ...<br />
640       </span>
641       &lt;/Directory&gt;
642     </code></p></div>
643
644     <p>the regular expression section won't be considered until after
645     all normal <code class="directive">&lt;Directory&gt;</code>s and
646     <code>.htaccess</code> files have been applied. Then the regular
647     expression will match on <code>/home/abc/public_html/abc</code> and
648     the corresponding <code class="directive">&lt;Directory&gt;</code> will
649     be applied.</p>
650
651    <p><strong>Note that the default Apache access for
652     <code>&lt;Directory /&gt;</code> is <code>Allow from All</code>.
653     This means that Apache will serve any file mapped from an URL. It is
654     recommended that you change this with a block such
655     as</strong></p>
656
657     <div class="example"><p><code>
658       &lt;Directory /&gt;<br />
659       <span class="indent">
660         Order Deny,Allow<br />
661         Deny from All<br />
662       </span>
663       &lt;/Directory&gt;
664     </code></p></div>
665
666     <p><strong>and then override this for directories you
667     <em>want</em> accessible. See the <a href="../misc/security_tips.html">Security Tips</a> page for more
668     details.</strong></p>
669
670     <p>The directory sections occur in the <code>httpd.conf</code> file.
671     <code class="directive">&lt;Directory&gt;</code> directives
672     cannot nest, and cannot appear in a <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> or <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> section.</p>
673
674 <h3>See also</h3>
675 <ul>
676 <li><a href="../sections.html">How &lt;Directory&gt;,
677     &lt;Location&gt; and &lt;Files&gt; sections work</a> for an
678     explanation of how these different sections are combined when a
679     request is received</li>
680 </ul>
681 </div>
682 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
683 <div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch">&lt;DirectoryMatch&gt;</a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
684 <table class="directive">
685 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose directives that apply to
686 file-system directories matching a regular expression and their
687 subdirectories</td></tr>
688 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;DirectoryMatch <var>regex</var>&gt;
689 ... &lt;/DirectoryMatch&gt;</code></td></tr>
690 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
691 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
692 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
693 </table>
694     <p><code class="directive">&lt;DirectoryMatch&gt;</code> and
695     <code>&lt;/DirectoryMatch&gt;</code> are used to enclose a group
696     of directives which will apply only to the named directory and
697     sub-directories of that directory, the same as <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>. However, it
698     takes as an argument a regular expression. For example:</p>
699
700     <div class="example"><p><code>
701       &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
702     </code></p></div>
703
704     <p>would match directories in <code>/www/</code> that consisted of three
705     numbers.</p>
706
707 <h3>See also</h3>
708 <ul>
709 <li><code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> for
710 a description of how regular expressions are mixed in with normal
711 <code class="directive">&lt;Directory&gt;</code>s</li>
712 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt; and
713 &lt;Files&gt; sections work</a> for an explanation of how these different
714 sections are combined when a request is received</li>
715 </ul>
716 </div>
717 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
718 <div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2>
719 <table class="directive">
720 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory that forms the main document tree visible
721 from the web</td></tr>
722 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DocumentRoot <var>directory-path</var></code></td></tr>
723 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
724 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
725 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
726 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
727 </table>
728     <p>This directive sets the directory from which <code>httpd</code>
729     will serve files. Unless matched by a directive like <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, the server appends the
730     path from the requested URL to the document root to make the
731     path to the document. Example:</p>
732
733     <div class="example"><p><code>
734       DocumentRoot /usr/web
735     </code></p></div>
736
737     <p>then an access to
738     <code>http://www.my.host.com/index.html</code> refers to
739     <code>/usr/web/index.html</code>.</p>
740
741     <p>The <code class="directive">DocumentRoot</code> should be specified without
742     a trailing slash.</p>
743
744 <h3>See also</h3>
745 <ul>
746 <li><a href="../urlmapping.html">Mapping URLs to Filesystem
747 Location</a></li>
748 </ul>
749 </div>
750 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
751 <div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2>
752 <table class="directive">
753 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use memory-mapping to read files during delivery</td></tr>
754 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
755 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableMMAP On</code></td></tr>
756 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
757 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
758 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
759 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
760 </table>
761     <p>This directive controls whether the <code>httpd</code> may use
762     memory-mapping if it needs to read the contents of a file during
763     delivery.  By default, when the handling of a request requires
764     access to the data within a file -- for example, when delivering a
765     server-parsed file using <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache
766     memory-maps the file if the OS supports it.</p>
767
768     <p>This memory-mapping sometimes yields a performance improvement.
769     But in some environments, it is better to disable the memory-mapping
770     to prevent operational problems:</p>
771
772     <ul>
773     <li>On some multiprocessor systems, memory-mapping can reduce the
774     performance of the <code>httpd</code>.</li>
775     <li>With an NFS-mounted <code class="directive"><a href="#documentroot">DocumentRoot</a></code>,
776     the <code>httpd</code> may crash due to a segmentation fault if a file
777     is deleted or truncated while the <code>httpd</code> has it
778     memory-mapped.</li>
779     </ul>
780
781     <p>For server configurations that are vulnerable to these problems,
782     you should disable memory-mapping of delivered files by specifying:</p>
783
784     <div class="example"><p><code>
785       EnableMMAP Off
786     </code></p></div>
787
788     <p>For NFS mounted files, this feature may be disabled explicitly for
789     the offending files by specifying:</p>
790
791     <div class="example"><p><code>
792       &lt;Directory "/path-to-nfs-files"&gt;
793       <span class="indent">
794         EnableMMAP Off
795       </span>
796       &lt;/Directory&gt;
797     </code></p></div>
798
799 </div>
800 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
801 <div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2>
802 <table class="directive">
803 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Use the kernel sendfile support to deliver files to the client</td></tr>
804 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
805 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableSendfile On</code></td></tr>
806 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
807 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
808 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
809 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
810 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.0.44 and later</td></tr>
811 </table>
812     <p>This directive controls whether <code>httpd</code> may use the sendfile
813     support from the kernel to transmit file contents to the client.
814     By default, when the handling of a request requires no access
815     to the data within a file -- for example, when delivering a
816     static file -- Apache uses sendfile to deliver the file contents
817     without ever reading the file if the OS supports it.</p>
818
819     <p>This sendfile mechanism avoids seperate read and send operations,
820     and buffer allocations. But on some platforms or within some
821     filesystems, it is better to disable this feature to avoid
822     operational problems:</p>
823
824     <ul>
825     <li>Some platforms may have broken sendfile support that the build
826     system did not detect, especially if the binaries were built on
827     another box and moved to such a machine with broken sendfile
828     support.</li>
829     <li>With a network-mounted <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (e.g., NFS or SMB),
830     the kernel may be unable to serve the network file through
831     its own cache.</li>
832     </ul>
833
834     <p>For server configurations that are vulnerable to these problems,
835     you should disable this feature by specifying:</p>
836
837     <div class="example"><p><code>
838       EnableSendfile Off
839     </code></p></div>
840
841     <p>For NFS or SMB mounted files, this feature may be disabled explicitly
842     for the offending files by specifying:</p>
843
844     <div class="example"><p><code>
845       &lt;Directory "/path-to-nfs-files"&gt;
846       <span class="indent">
847         EnableSendfile Off
848       </span>
849       &lt;/Directory&gt;
850     </code></p></div>
851
852 </div>
853 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
854 <div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2>
855 <table class="directive">
856 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>What the server will return to the client
857 in case of an error</td></tr>
858 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ErrorDocument <var>error-code</var> <var>document</var></code></td></tr>
859 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
860 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
861 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
862 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
863 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Quoting syntax for text messages is different in Apache
864 2.0</td></tr>
865 </table>
866     <p>In the event of a problem or error, Apache can be configured
867     to do one of four things,</p>
868
869     <ol>
870       <li>output a simple hardcoded error message</li>
871
872       <li>output a customized message</li>
873
874       <li>redirect to a local <var>URL-path</var> to handle the
875       problem/error</li>
876
877       <li>redirect to an external <var>URL</var> to handle the
878       problem/error</li>
879     </ol>
880
881     <p>The first option is the default, while options 2-4 are
882     configured using the <code class="directive">ErrorDocument</code>
883     directive, which is followed by the HTTP response code and a URL
884     or a message. Apache will sometimes offer additional information
885     regarding the problem/error.</p>
886
887     <p>URLs can begin with a slash (/) for local URLs, or be a full
888     URL which the client can resolve. Alternatively, a message can
889     be provided to be displayed by the browser. Examples:</p>
890
891     <div class="example"><p><code>
892       ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
893       ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
894       ErrorDocument 401 /subscription_info.html<br />
895       ErrorDocument 403 "Sorry can't allow you access today"
896     </code></p></div>
897
898     <p>Note that when you specify an <code class="directive">ErrorDocument</code>
899     that points to a remote URL (ie. anything with a method such as
900     <code>http</code> in front of it), Apache will send a redirect to the
901     client to tell it where to find the document, even if the
902     document ends up being on the same server. This has several
903     implications, the most important being that the client will not
904     receive the original error status code, but instead will
905     receive a redirect status code. This in turn can confuse web
906     robots and other clients which try to determine if a URL is
907     valid using the status code. In addition, if you use a remote
908     URL in an <code>ErrorDocument 401</code>, the client will not
909     know to prompt the user for a password since it will not
910     receive the 401 status code. Therefore, <strong>if you use an
911     <code>ErrorDocument 401</code> directive then it must refer to a local
912     document.</strong></p>
913
914     <p>Microsoft Internet Explorer (MSIE) will by default ignore
915     server-generated error messages when they are "too small" and substitute
916     its own "friendly" error messages. The size threshold varies depending on
917     the type of error, but in general, if you make your error document
918     greater than 512 bytes, then MSIE will show the server-generated
919     error rather than masking it.  More information is available in
920     Microsoft Knowledgebase article <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
921
922     <p>Prior to version 2.0, messages were indicated by prefixing
923     them with a single unmatched double quote character.</p>
924
925 <h3>See also</h3>
926 <ul>
927 <li><a href="../custom-error.html">documentation of
928     customizable responses</a></li>
929 </ul>
930 </div>
931 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
932 <div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2>
933 <table class="directive">
934 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location where the server will log errors</td></tr>
935 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</code></td></tr>
936 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ErrorLog logs/error_log (Unix)<br />
937 ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
938 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
939 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
940 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
941 </table>
942     <p>The <code class="directive">ErrorLog</code> directive sets the name of
943     the file to which the server will log any errors it encounters. If
944     the <var>file-path</var> is not absolute (in general: does not begin
945     with a slash (/)) then it is assumed to be relative to the <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
946
947     <div class="example"><h3>Example</h3><p><code>
948     ErrorLog /var/log/httpd/error_log
949     </code></p></div>
950
951     <p>If the <var>file-path</var>
952     begins with a pipe (|) then it is assumed to be a command to spawn
953     to handle the error log.</p>
954
955     <div class="example"><h3>Example</h3><p><code>
956     ErrorLog "|/usr/local/bin/httpd_errors"
957     </code></p></div>
958
959     <p>Using <code>syslog</code> instead of a filename enables logging
960     via syslogd(8) if the system supports it. The default is to use
961     syslog facility <code>local7</code>, but you can override this by
962     using the <code>syslog:<var>facility</var></code> syntax where
963     <var>facility</var> can be one of the names usually documented in
964     syslog(1).</p>
965
966     <div class="example"><h3>Example</h3><p><code>
967     ErrorLog syslog:user
968     </code></p></div>
969
970     <p>SECURITY: See the <a href="../misc/security_tips.html#serverroot">security tips</a>
971     document for details on why your security could be compromised
972     if the directory where logfiles are stored is writable by
973     anyone other than the user that starts the server.</p>
974     <div class="warning"><h3>Note</h3>
975       <p>When entering a file path on non-Unix platforms, care should be taken
976       to make sure that only forward slashed are used even though the platform
977       may allow the use of back slashes. In general it is a good idea to always 
978       use forward slashes throughout the configuration files.</p>
979     </div>
980
981 <h3>See also</h3>
982 <ul>
983 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
984 <li><a href="../logs.html">Apache Log Files</a></li>
985 </ul>
986 </div>
987 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
988 <div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2>
989 <table class="directive">
990 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File attributes used to create the ETag
991 HTTP response header</td></tr>
992 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FileETag <var>component</var> ...</code></td></tr>
993 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>FileETag INode MTime Size</code></td></tr>
994 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
995 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
996 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
997 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
998 </table>
999     <p>
1000     The <code class="directive">FileETag</code> directive configures the file
1001     attributes that are used to create the <code>ETag</code> (entity
1002     tag) response header field when the document is based on a file.
1003     (The <code>ETag</code> value is used in cache management to save
1004     network bandwidth.) In Apache 1.3.22 and earlier, the
1005     <code>ETag</code> value was <em>always</em> formed
1006     from the file's inode, size, and last-modified time (mtime). The
1007     <code class="directive">FileETag</code> directive allows you to choose
1008     which of these -- if any -- should be used. The recognized keywords are:
1009     </p>
1010
1011     <dl>
1012      <dt><strong>INode</strong></dt>
1013      <dd>The file's i-node number will be included in the calculation</dd>
1014      <dt><strong>MTime</strong></dt>
1015      <dd>The date and time the file was last modified will be included</dd>
1016      <dt><strong>Size</strong></dt>
1017      <dd>The number of bytes in the file will be included</dd>
1018      <dt><strong>All</strong></dt>
1019      <dd>All available fields will be used. This is equivalent to:
1020          <div class="example"><p><code>FileETag INode MTime Size</code></p></div></dd>
1021      <dt><strong>None</strong></dt>
1022      <dd>If a document is file-based, no <code>ETag</code> field will be
1023        included in the response</dd>
1024     </dl>
1025
1026     <p>The <code>INode</code>, <code>MTime</code>, and <code>Size</code>
1027     keywords may be prefixed with either <code>+</code> or <code>-</code>,
1028     which allow changes to be made to the default setting inherited
1029     from a broader scope. Any keyword appearing without such a prefix
1030     immediately and completely cancels the inherited setting.</p>
1031
1032     <p>If a directory's configuration includes
1033     <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>, and a
1034     subdirectory's includes <code>FileETag&nbsp;-INode</code>,
1035     the setting for that subdirectory (which will be inherited by
1036     any sub-subdirectories that don't override it) will be equivalent to
1037     <code>FileETag&nbsp;MTime&nbsp;Size</code>.</p>
1038
1039 </div>
1040 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1041 <div class="directive-section"><h2><a name="Files" id="Files">&lt;Files&gt;</a> <a name="files" id="files">Directive</a></h2>
1042 <table class="directive">
1043 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply to matched
1044 filenames</td></tr>
1045 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</code></td></tr>
1046 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1047 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1048 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1049 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1050 </table>
1051     <p>The <code class="directive">&lt;Files&gt;</code> directive
1052     limits the scope of the enclosed directives by filename. It is comparable
1053     to the <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>
1054     and <code class="directive"><a href="#location">&lt;Location&gt;</a></code>
1055     directives. It should be matched with a <code>&lt;/Files&gt;</code>
1056     directive. The directives given within this section will be applied to
1057     any object with a basename (last component of filename) matching the
1058     specified filename. <code class="directive">&lt;Files&gt;</code>
1059     sections are processed in the order they appear in the
1060     configuration file, after the <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> sections and
1061     <code>.htaccess</code> files are read, but before <code class="directive"><a href="#location">&lt;Location&gt;</a></code> sections. Note
1062     that <code class="directive">&lt;Files&gt;</code> can be nested
1063     inside <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> sections to restrict the
1064     portion of the filesystem they apply to.</p>
1065
1066     <p>The <var>filename</var> argument should include a filename, or
1067     a wild-card string, where <code>?</code> matches any single character,
1068     and <code>*</code> matches any sequences of characters. Extended regular
1069     expressions can also be used, with the addition of the
1070     <code>~</code> character. For example:</p>
1071
1072     <div class="example"><p><code>
1073       &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
1074     </code></p></div>
1075
1076     <p>would match most common Internet graphics formats. <code class="directive"><a href="#filesmatch">&lt;FilesMatch&gt;</a></code> is preferred,
1077     however.</p>
1078
1079     <p>Note that unlike <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> and <code class="directive"><a href="#location">&lt;Location&gt;</a></code> sections, <code class="directive">&lt;Files&gt;</code> sections can be used inside
1080     <code>.htaccess</code> files. This allows users to control access to
1081     their own files, at a file-by-file level.</p>
1082
1083
1084 <h3>See also</h3>
1085 <ul>
1086 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt;
1087     and &lt;Files&gt; sections work</a> for an explanation of how these
1088     different sections are combined when a request is received</li>
1089 </ul>
1090 </div>
1091 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1092 <div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch">&lt;FilesMatch&gt;</a> <a name="filesmatch" id="filesmatch">Directive</a></h2>
1093 <table class="directive">
1094 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply to regular-expression matched
1095 filenames</td></tr>
1096 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</code></td></tr>
1097 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1098 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1099 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1100 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1101 </table>
1102     <p>The <code class="directive">&lt;FilesMatch&gt;</code> directive
1103     limits the scope of the enclosed directives by filename, just as the
1104     <code class="directive"><a href="#files">&lt;Files&gt;</a></code> directive
1105     does. However, it accepts a regular expression. For example:</p>
1106
1107     <div class="example"><p><code>
1108       &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
1109     </code></p></div>
1110
1111     <p>would match most common Internet graphics formats.</p>
1112
1113 <h3>See also</h3>
1114 <ul>
1115 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt;
1116     and &lt;Files&gt; sections work</a> for an explanation of how these
1117     different sections are combined when a request is received</li>
1118 </ul>
1119 </div>
1120 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1121 <div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2>
1122 <table class="directive">
1123 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Forces all matching files to be served with the specified
1124 MIME content-type</td></tr>
1125 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceType <var>MIME-type</var>|None</code></td></tr>
1126 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
1127 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
1128 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1129 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1130 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Moved to the core in Apache 2.0</td></tr>
1131 </table>
1132     <p>When placed into an <code>.htaccess</code> file or a
1133     <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>, or
1134     <code class="directive"><a href="#location">&lt;Location&gt;</a></code> or
1135     <code class="directive"><a href="#files">&lt;Files&gt;</a></code>
1136     section, this directive forces all matching files to be served
1137     with the content type identification given by
1138     <var>MIME-type</var>. For example, if you had a directory full of
1139     GIF files, but did not want to label them all with <code>.gif</code>,
1140     you might want to use:</p>
1141
1142     <div class="example"><p><code>
1143       ForceType image/gif
1144     </code></p></div>
1145
1146     <p>Note that unlike <code class="directive"><a href="#defaulttype">DefaultType</a></code>,
1147     this directive overrides all mime-type associations, including
1148     filename extensions, that might identify the media type.</p>
1149
1150     <p>You can override any <code class="directive">ForceType</code> setting
1151     by using the value of <code>None</code>:</p>
1152
1153     <div class="example"><p><code>
1154       # force all files to be image/gif:<br />
1155       &lt;Location /images&gt;<br />
1156         <span class="indent">
1157           ForceType image/gif<br />
1158         </span>
1159       &lt;/Location&gt;<br />
1160       <br />
1161       # but normal mime-type associations here:<br />
1162       &lt;Location /images/mixed&gt;<br />
1163       <span class="indent">
1164         ForceType None<br />
1165       </span>
1166       &lt;/Location&gt;
1167     </code></p></div>
1168
1169 </div>
1170 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1171 <div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2>
1172 <table class="directive">
1173 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables DNS lookups on client IP addresses</td></tr>
1174 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
1175 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>HostnameLookups Off</code></td></tr>
1176 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
1177 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1178 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1179 </table>
1180     <p>This directive enables DNS lookups so that host names can be
1181     logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>).
1182     The value <code>Double</code> refers to doing double-reverse
1183     DNS lookup. That is, after a reverse lookup is performed, a forward
1184     lookup is then performed on that result. At least one of the ip
1185     addresses in the forward lookup must match the original
1186     address. (In "tcpwrappers" terminology this is called
1187     <code>PARANOID</code>.)</p>
1188
1189     <p>Regardless of the setting, when <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> is
1190     used for controlling access by hostname, a double reverse lookup
1191     will be performed.  This is necessary for security. Note that the
1192     result of this double-reverse isn't generally available unless you
1193     set <code>HostnameLookups Double</code>. For example, if only
1194     <code>HostnameLookups On</code> and a request is made to an object
1195     that is protected by hostname restrictions, regardless of whether
1196     the double-reverse fails or not, CGIs will still be passed the
1197     single-reverse result in <code>REMOTE_HOST</code>.</p>
1198
1199     <p>The default is <code>Off</code> in order to save the network
1200     traffic for those sites that don't truly need the reverse
1201     lookups done. It is also better for the end users because they
1202     don't have to suffer the extra latency that a lookup entails.
1203     Heavily loaded sites should leave this directive
1204     <code>Off</code>, since DNS lookups can take considerable
1205     amounts of time. The utility <a href="../programs/logresolve.html">logresolve</a>, compiled by default
1206     to the <code>bin</code> subdirectory of your installation directory, can
1207     be used to look up host names from logged IP addresses offline.</p>
1208
1209 </div>
1210 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1211 <div class="directive-section"><h2><a name="IfDefine" id="IfDefine">&lt;IfDefine&gt;</a> <a name="ifdefine" id="ifdefine">Directive</a></h2>
1212 <table class="directive">
1213 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that will be processed only
1214 if a test is true at startup</td></tr>
1215 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
1216     &lt;/IfDefine&gt;</code></td></tr>
1217 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1218 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1219 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1220 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1221 </table>
1222     <p>The <code>&lt;IfDefine <var>test</var>&gt;...&lt;/IfDefine&gt;
1223     </code> section is used to mark directives that are conditional. The
1224     directives within an <code class="directive">&lt;IfDefine&gt;</code>
1225     section are only processed if the <var>test</var> is true. If <var>
1226     test</var> is false, everything between the start and end markers is
1227     ignored.</p>
1228
1229     <p>The <var>test</var> in the <code class="directive">&lt;IfDefine&gt;</code> section directive can be one of two forms:</p>
1230
1231     <ul>
1232       <li><var>parameter-name</var></li>
1233
1234       <li><code>!</code><var>parameter-name</var></li>
1235     </ul>
1236
1237     <p>In the former case, the directives between the start and end
1238     markers are only processed if the parameter named
1239     <var>parameter-name</var> is defined. The second format reverses
1240     the test, and only processes the directives if
1241     <var>parameter-name</var> is <strong>not</strong> defined.</p>
1242
1243     <p>The <var>parameter-name</var> argument is a define as given on
1244     the <code>httpd</code> command line via <code>-D<var>parameter-</var>
1245     </code>, at the time the server was started.</p>
1246
1247     <p><code class="directive">&lt;IfDefine&gt;</code> sections are
1248     nest-able, which can be used to implement simple
1249     multiple-parameter tests. Example:</p>
1250
1251     <div class="example"><p><code>
1252       httpd -DReverseProxy ...<br />
1253       <br />
1254       # httpd.conf<br />
1255       &lt;IfDefine ReverseProxy&gt;<br />
1256       <span class="indent">
1257         LoadModule rewrite_module modules/mod_rewrite.so<br />
1258         LoadModule proxy_module   modules/libproxy.so<br />
1259       </span>
1260       &lt;/IfDefine&gt;
1261     </code></p></div>
1262
1263 </div>
1264 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1265 <div class="directive-section"><h2><a name="IfModule" id="IfModule">&lt;IfModule&gt;</a> <a name="ifmodule" id="ifmodule">Directive</a></h2>
1266 <table class="directive">
1267 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the
1268 presence or absence of a specific module</td></tr>
1269 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;IfModule [!]<var>module-name</var>&gt; ...
1270     &lt;/IfModule&gt;</code></td></tr>
1271 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1272 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1273 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1274 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1275 </table>
1276     <p>The <code>&lt;IfModule <var>test</var>&gt;...&lt;/IfModule&gt;</code>
1277     section is used to mark directives that are conditional on the presence of
1278     a specific module. The directives within an <code class="directive">&lt;IfModule&gt;</code> section are only processed if the <var>test</var>
1279     is true. If <var>test</var> is false, everything between the start and
1280     end markers is ignored.</p>
1281
1282     <p>The <var>test</var> in the <code class="directive">&lt;IfModule&gt;</code> section directive can be one of two forms:</p>
1283
1284     <ul>
1285       <li><var>module name</var></li>
1286
1287       <li>!<var>module name</var></li>
1288     </ul>
1289
1290     <p>In the former case, the directives between the start and end
1291     markers are only processed if the module named <var>module
1292     name</var> is included in Apache -- either compiled in or
1293     dynamically loaded using <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. The second format reverses the test,
1294     and only processes the directives if <var>module name</var> is
1295     <strong>not</strong> included.</p>
1296
1297     <p>The <var>module name</var> argument is the file name of the
1298     module, at the time it was compiled.  For example,
1299     <code>mod_rewrite.c</code>.  If a module consists of several
1300     source files, use the name of the file containing the string
1301     <code>STANDARD20_MODULE_STUFF</code>.</p>
1302
1303     <p><code class="directive">&lt;IfModule&gt;</code> sections are
1304     nest-able, which can be used to implement simple multiple-module
1305     tests.</p>
1306
1307     <div class="note">This section should only be used if you need to have one
1308     configuration file that works whether or not a specific module
1309     is available. In normal operation, directives need not be
1310     placed in <code class="directive">&lt;IfModule&gt;</code>
1311     sections.</div>
1312
1313 </div>
1314 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1315 <div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2>
1316 <table class="directive">
1317 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Includes other configuration files from within
1318 the server configuration files</td></tr>
1319 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Include <var>file-path</var>|<var>directory-path</var></code></td></tr>
1320 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
1321 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1322 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1323 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Wildcard matching available in 2.0.41 and later</td></tr>
1324 </table>
1325     <p>This directive allows inclusion of other configuration files
1326     from within the server configuration files.</p>
1327
1328     <p>Shell-style (<code>fnmatch()</code>) wildcard characters can be used to
1329     include several files at once, in alphabetical order. In
1330     addition, if <code class="directive">Include</code> points to a directory,
1331     rather than a file, Apache will read all files in that directory
1332     and any subdirectory.  But including entire directories is not
1333     recommended, because it is easy to accidentally leave temporary
1334     files in a directory that can cause <code>httpd</code> to
1335     fail.</p>
1336
1337     <p>The file path specified may be an absolute path (i.e.
1338     starting with a slash), or may be relative to the
1339     <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory.</p>
1340
1341     <p>Examples:</p>
1342
1343     <div class="example"><p><code>
1344       Include /usr/local/apache2/conf/ssl.conf<br />
1345       Include /usr/local/apache2/conf/vhosts/*.conf
1346     </code></p></div>
1347
1348     <p>Or, providing paths relative to your <code class="directive"><a href="#serverroot">ServerRoot</a></code> directory:</p>
1349
1350     <div class="example"><p><code>
1351       Include conf/ssl.conf<br />
1352       Include conf/vhosts/*.conf
1353     </code></p></div>
1354
1355     <p>Running <code>apachectl configtest</code> will give you a list
1356     of the files that are being processed during the configuration
1357     check:</p>
1358
1359     <div class="example"><p><code>
1360       root@host# apachectl configtest<br />
1361       Processing config file: /usr/local/apache2/conf/ssl.conf<br />
1362       Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br />
1363       Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br />
1364       Syntax OK
1365     </code></p></div>
1366
1367 <h3>See also</h3>
1368 <ul>
1369 <li><a href="../programs/apachectl.html">apachectl</a></li>
1370 </ul>
1371 </div>
1372 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1373 <div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2>
1374 <table class="directive">
1375 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables HTTP persistent connections</td></tr>
1376 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAlive On|Off</code></td></tr>
1377 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>KeepAlive On</code></td></tr>
1378 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1379 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1380 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1381 </table>
1382     <p>The Keep-Alive extension to HTTP/1.0 and the persistent
1383     connection feature of HTTP/1.1 provide long-lived HTTP sessions
1384     which allow multiple requests to be sent over the same TCP
1385     connection. In some cases this has been shown to result in an
1386     almost 50% speedup in latency times for HTML documents with
1387     many images. To enable Keep-Alive connections, set
1388     <code>KeepAlive On</code>.</p>
1389
1390     <p>For HTTP/1.0 clients, Keep-Alive connections will only be
1391     used if they are specifically requested by a client. In
1392     addition, a Keep-Alive connection with an HTTP/1.0 client can
1393     only be used when the length of the content is known in
1394     advance. This implies that dynamic content such as CGI output,
1395     SSI pages, and server-generated directory listings will
1396     generally not use Keep-Alive connections to HTTP/1.0 clients.
1397     For HTTP/1.1 clients, persistent connections are the default
1398     unless otherwise specified. If the client requests it, chunked
1399     encoding will be used in order to send content of unknown
1400     length over persistent connections.</p>
1401
1402 <h3>See also</h3>
1403 <ul>
1404 <li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
1405 </ul>
1406 </div>
1407 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1408 <div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2>
1409 <table class="directive">
1410 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Amount of time the server will wait for subsequent
1411 requests on a persistent connection</td></tr>
1412 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAliveTimeout <var>seconds</var></code></td></tr>
1413 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>KeepAliveTimeout 15</code></td></tr>
1414 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1415 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1416 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1417 </table>
1418     <p>The number of seconds Apache will wait for a subsequent
1419     request before closing the connection. Once a request has been
1420     received, the timeout value specified by the
1421     <code class="directive"><a href="#timeout">Timeout</a></code> directive applies.</p>
1422
1423     <p>Setting <code class="directive">KeepAliveTimeout</code> to a high value
1424     may cause performance problems in heavily loaded servers. The
1425     higher the timeout, the more server processes will be kept
1426     occupied waiting on connections with idle clients.</p>
1427
1428 </div>
1429 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1430 <div class="directive-section"><h2><a name="Limit" id="Limit">&lt;Limit&gt;</a> <a name="limit" id="limit">Directive</a></h2>
1431 <table class="directive">
1432 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restrict enclosed access controls to only certain HTTP
1433 methods</td></tr>
1434 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
1435     &lt;/Limit&gt;</code></td></tr>
1436 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1437 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1438 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1439 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1440 </table>
1441     <p>Access controls are normally effective for
1442     <strong>all</strong> access methods, and this is the usual
1443     desired behavior. <strong>In the general case, access control
1444     directives should not be placed within a
1445     <code class="directive">&lt;Limit&gt;</code> section.</strong></p>
1446
1447     <p>The purpose of the <code class="directive">&lt;Limit&gt;</code>
1448     directive is to restrict the effect of the access controls to the
1449     nominated HTTP methods. For all other methods, the access
1450     restrictions that are enclosed in the <code class="directive">&lt;Limit&gt;</code> bracket <strong>will have no
1451     effect</strong>. The following example applies the access control
1452     only to the methods <code>POST</code>, <code>PUT</code>, and
1453     <code>DELETE</code>, leaving all other methods unprotected:</p>
1454
1455     <div class="example"><p><code>
1456       &lt;Limit POST PUT DELETE&gt;<br />
1457       <span class="indent">
1458         Require valid-user<br />
1459       </span>
1460       &lt;/Limit&gt;
1461     </code></p></div>
1462
1463     <p>The method names listed can be one or more of: <code>GET</code>,
1464     <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1465     <code>CONNECT</code>, <code>OPTIONS</code>,
1466     <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1467     <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1468     <code>LOCK</code>, and <code>UNLOCK</code>. <strong>The method name is
1469     case-sensitive.</strong> If <code>GET</code> is used it will also
1470     restrict <code>HEAD</code> requests. The <code>TRACE</code> method
1471     cannot be limited.</p>
1472
1473 </div>
1474 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1475 <div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept">&lt;LimitExcept&gt;</a> <a name="limitexcept" id="limitexcept">Directive</a></h2>
1476 <table class="directive">
1477 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restrict access controls to all HTTP methods
1478 except the named ones</td></tr>
1479 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
1480     &lt;/LimitExcept&gt;</code></td></tr>
1481 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1482 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1483 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1484 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1485 </table>
1486     <p><code class="directive">&lt;LimitExcept&gt;</code> and
1487     <code>&lt;/LimitExcept&gt;</code> are used to enclose
1488     a group of access control directives which will then apply to any
1489     HTTP access method <strong>not</strong> listed in the arguments;
1490     i.e., it is the opposite of a <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> section and can be used to control
1491     both standard and nonstandard/unrecognized methods. See the
1492     documentation for <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> for more details.</p>
1493
1494     <p>For example:</p>
1495
1496     <div class="example"><p><code>
1497       &lt;LimitExcept POST GET&gt;<br />
1498       <span class="indent">
1499         Require valid-user<br />
1500       </span>
1501       &lt;LimitExcept&gt;
1502     </code></p></div>
1503
1504
1505 </div>
1506 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1507 <div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2>
1508 <table class="directive">
1509 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restricts the total size of the HTTP request body sent
1510 from the client</td></tr>
1511 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestBody <var>bytes</var></code></td></tr>
1512 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestBody 0</code></td></tr>
1513 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1514 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1515 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1516 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1517 </table>
1518     <p>This directive specifies the number of <var>bytes</var> from 0
1519     (meaning unlimited) to 2147483647 (2GB) that are allowed in a
1520     request body. The default value is defined by the compile-time
1521     constant <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 as
1522     distributed).</p>
1523
1524     <p>The <code class="directive">LimitRequestBody</code> directive allows
1525     the user to set a limit on the allowed size of an HTTP request
1526     message body within the context in which the directive is given
1527     (server, per-directory, per-file or per-location). If the client
1528     request exceeds that limit, the server will return an error
1529     response instead of servicing the request. The size of a normal
1530     request message body will vary greatly depending on the nature of
1531     the resource and the methods allowed on that resource. CGI scripts
1532     typically use the message body for retrieving form information.
1533     Implementations of the <code>PUT</code> method will require
1534     a value at least as large as any representation that the server
1535     wishes to accept for that resource.</p>
1536
1537     <p>This directive gives the server administrator greater
1538     control over abnormal client request behavior, which may be
1539     useful for avoiding some forms of denial-of-service
1540     attacks.</p>
1541
1542     <p>If, for example, you are permitting file upload to a particular
1543     location, and wish to limit the size of the uploaded file to 100K,
1544     you might use the following directive:</p>
1545
1546     <div class="example"><p><code>
1547       LimitRequestBody 102400
1548     </code></p></div>
1549
1550
1551 </div>
1552 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1553 <div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2>
1554 <table class="directive">
1555 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the number of HTTP request header fields that
1556 will be accepted from the client</td></tr>
1557 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr>
1558 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFields 100</code></td></tr>
1559 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
1560 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1561 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1562 </table>
1563     <p><var>Number</var> is an integer from 0 (meaning unlimited) to
1564     32767. The default value is defined by the compile-time
1565     constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as
1566     distributed).</p>
1567
1568     <p>The <code class="directive">LimitRequestFields</code> directive allows
1569     the server administrator to modify the limit on the number of
1570     request header fields allowed in an HTTP request. A server needs
1571     this value to be larger than the number of fields that a normal
1572     client request might include. The number of request header fields
1573     used by a client rarely exceeds 20, but this may vary among
1574     different client implementations, often depending upon the extent
1575     to which a user has configured their browser to support detailed
1576     content negotiation. Optional HTTP extensions are often expressed
1577     using request header fields.</p>
1578
1579     <p>This directive gives the server administrator greater
1580     control over abnormal client request behavior, which may be
1581     useful for avoiding some forms of denial-of-service attacks.
1582     The value should be increased if normal clients see an error
1583     response from the server that indicates too many fields were
1584     sent in the request.</p>
1585
1586     <p>For example:</p>
1587
1588     <div class="example"><p><code>
1589       LimitRequestFields 50
1590     </code></p></div>
1591
1592
1593 </div>
1594 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1595 <div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2>
1596 <table class="directive">
1597 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the size of the HTTP request header allowed from the
1598 client</td></tr>
1599 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldsize <var>bytes</var></code></td></tr>
1600 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestFieldsize 8190</code></td></tr>
1601 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
1602 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1603 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1604 </table>
1605     <p>This directive specifies the number of <var>bytes</var> from 0
1606     to the value of the compile-time constant
1607     <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 as
1608     distributed) that will be allowed in an HTTP request
1609     header.</p>
1610
1611     <p>The <code class="directive">LimitRequestFieldSize</code> directive
1612     allows the server administrator to reduce the limit on the allowed
1613     size of an HTTP request header field below the normal input buffer
1614     size compiled with the server. A server needs this value to be
1615     large enough to hold any one header field from a normal client
1616     request. The size of a normal request header field will vary
1617     greatly among different client implementations, often depending
1618     upon the extent to which a user has configured their browser to
1619     support detailed content negotiation.</p>
1620
1621     <p>This directive gives the server administrator greater
1622     control over abnormal client request behavior, which may be
1623     useful for avoiding some forms of denial-of-service attacks.</p>
1624
1625     <p>For example:</p>
1626
1627     <div class="example"><p><code>
1628       LimitRequestFieldSize 4094
1629     </code></p></div>
1630
1631     <div class="note">Under normal conditions, the value should not be changed from
1632     the default.</div>
1633
1634
1635 </div>
1636 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1637 <div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2>
1638 <table class="directive">
1639 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limit the size of the HTTP request line that will be accepted
1640 from the client</td></tr>
1641 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr>
1642 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
1643 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
1644 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1645 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1646 </table>
1647     <p>This directive sets the number of <var>bytes</var> from 0 to
1648     the value of the compile-time constant
1649     <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 as distributed)
1650     that will be allowed on the HTTP request-line.</p>
1651
1652     <p>The <code class="directive">LimitRequestLine</code> directive allows
1653     the server administrator to reduce the limit on the allowed size
1654     of a client's HTTP request-line below the normal input buffer size
1655     compiled with the server. Since the request-line consists of the
1656     HTTP method, URI, and protocol version, the
1657     <code class="directive">LimitRequestLine</code> directive places a
1658     restriction on the length of a request-URI allowed for a request
1659     on the server. A server needs this value to be large enough to
1660     hold any of its resource names, including any information that
1661     might be passed in the query part of a <code>GET</code> request.</p>
1662
1663     <p>This directive gives the server administrator greater
1664     control over abnormal client request behavior, which may be
1665     useful for avoiding some forms of denial-of-service attacks.</p>
1666
1667     <p>For example:</p>
1668
1669     <div class="example"><p><code>
1670       LimitRequestLine 4094
1671     </code></p></div>
1672
1673     <div class="note">Under normal conditions, the value should not be changed from
1674     the default.</div>
1675
1676 </div>
1677 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1678 <div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2>
1679 <table class="directive">
1680 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the size of an XML-based request body</td></tr>
1681 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitXMLRequestBody <var>bytes</var></code></td></tr>
1682 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
1683 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
1684 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
1685 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1686 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1687 </table>
1688     <p>Limit (in bytes) on maximum size of an XML-based request
1689     body. A value of <code>0</code> will disable any checking.</p>
1690
1691     <p>Example:</p>
1692
1693     <div class="example"><p><code>
1694       LimitXMLRequestBody 0
1695     </code></p></div>
1696
1697
1698 </div>
1699 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1700 <div class="directive-section"><h2><a name="Location" id="Location">&lt;Location&gt;</a> <a name="location" id="location">Directive</a></h2>
1701 <table class="directive">
1702 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applies the enclosed directives only to matching
1703 URLs</td></tr>
1704 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Location
1705     <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</code></td></tr>
1706 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1707 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1708 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1709 </table>
1710     <p>The <code class="directive">&lt;Location&gt;</code> directive
1711     limits the scope of the enclosed directives by URL. It is similar to the
1712     <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>
1713     directive, and starts a subsection which is terminated with a
1714     <code>&lt;/Location&gt;</code> directive.  <code class="directive">&lt;Location&gt;</code> sections are processed in the
1715     order they appear in the configuration file, after the <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> sections and
1716     <code>.htaccess</code> files are read, and after the <code class="directive"><a href="#files">&lt;Files&gt;</a></code> sections.</p>
1717
1718     <p><code class="directive">&lt;Location&gt;</code> sections operate
1719     completely outside the filesystem.  This has several consequences.
1720     Most importantly, <code class="directive">&lt;Location&gt;</code>
1721     directives should not be used to control access to filesystem
1722     locations.  Since several different URLs may map to the same
1723     filesystem location, such access controls may by circumvented.</p>
1724
1725     <div class="note"><h3>When to use <code class="directive">&lt;Location&gt;</code></h3>
1726
1727     <p>Use <code class="directive">&lt;Location&gt;</code> to apply
1728     directives to content that lives outside the filesystem.  For
1729     content that lives in the filesystem, use <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> and <code class="directive"><a href="#files">&lt;Files&gt;</a></code>.  An exception is
1730     <code>&lt;Location /&gt;</code>, which is an easy way to 
1731     apply a configuration to the entire server.</p>
1732     </div>
1733
1734     <p>For all origin (non-proxy) requests, the URL to be matched is a
1735     URL-path of the form <code>/path/</code>.  No scheme, hostname,
1736     port, or query string may be included.  For proxy requests, the
1737     URL to be matched is of the form
1738     <code>scheme://servername/path</code>, and you must include the
1739     prefix.</p>
1740
1741     <p>The URL may use wildcards. In a wild-card string, <code>?</code> matches
1742     any single character, and <code>*</code> matches any sequences of
1743     characters.</p>
1744
1745     <p>Extended regular
1746     expressions can also be used, with the addition of the
1747     <code>~</code> character. For example:</p>
1748
1749     <div class="example"><p><code>
1750       &lt;Location ~ "/(extra|special)/data"&gt;
1751     </code></p></div>
1752
1753     <p>would match URLs that contained the substring <code>/extra/data</code>
1754     or <code>/special/data</code>. The directive <code class="directive"><a href="#locationmatch">&lt;LocationMatch&gt;</a></code> behaves
1755     identical to the regex version of <code class="directive">&lt;Location&gt;</code>.</p>
1756
1757     <p>The <code class="directive">&lt;Location&gt;</code>
1758     functionality is especially useful when combined with the
1759     <code class="directive"><a href="#sethandler">SetHandler</a></code>
1760     directive. For example, to enable status requests, but allow them
1761     only from browsers at <code>foo.com</code>, you might use:</p>
1762
1763     <div class="example"><p><code>
1764       &lt;Location /status&gt;<br />
1765       <span class="indent">
1766         SetHandler server-status<br />
1767         Order Deny,Allow<br />
1768         Deny from all<br />
1769         Allow from .foo.com<br />
1770       </span>
1771       &lt;/Location&gt;
1772     </code></p></div>
1773
1774     <div class="note"><h3>Note about / (slash)</h3>
1775       <p>The slash character has special meaning depending on where in a
1776       URL it appears. People may be used to its behavior in the filesystem
1777       where multiple adjacent slashes are frequently collapsed to a single
1778       slash (<em>i.e.</em>, <code>/home///foo</code> is the same as
1779       <code>/home/foo</code>). In URL-space this is not necessarily true.
1780       The <code class="directive"><a href="#locationmatch">&lt;LocationMatch&gt;</a></code>
1781       directive and the regex version of <code class="directive">&lt;Location&gt;</code> require you to explicitly specify multiple
1782       slashes if that is your intention.</p>
1783
1784       <p>For example, <code>&lt;LocationMatch ^/abc&gt;</code> would match
1785       the request URL <code>/abc</code> but not the request URL <code>
1786       //abc</code>. The (non-regex) <code class="directive">&lt;Location&gt;</code> directive behaves similarly when used for
1787       proxy requests. But when (non-regex) <code class="directive">&lt;Location&gt;</code> is used for non-proxy requests it will
1788       implicitly match multiple slashes with a single slash. For example,
1789       if you specify <code>&lt;Location /abc/def&gt;</code> and the
1790       request is to <code>/abc//def</code> then it will match.</p>
1791     </div>
1792
1793 <h3>See also</h3>
1794 <ul>
1795 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt;
1796     and &lt;Files&gt; sections work</a> for an explanation of how these
1797     different sections are combined when a request is received</li>
1798 </ul>
1799 </div>
1800 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1801 <div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch">&lt;LocationMatch&gt;</a> <a name="locationmatch" id="locationmatch">Directive</a></h2>
1802 <table class="directive">
1803 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applies the enclosed directives only to regular-expression
1804 matching URLs</td></tr>
1805 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;LocationMatch
1806     <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</code></td></tr>
1807 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1808 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1809 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1810 </table>
1811     <p>The <code class="directive">&lt;LocationMatch&gt;</code> directive
1812     limits the scope of the enclosed directives by URL, in an identical manner
1813     to <code class="directive"><a href="#location">&lt;Location&gt;</a></code>. However,
1814     it takes a regular expression as an argument instead of a simple
1815     string. For example:</p>
1816
1817     <div class="example"><p><code>
1818       &lt;LocationMatch "/(extra|special)/data"&gt;
1819     </code></p></div>
1820
1821     <p>would match URLs that contained the substring <code>/extra/data</code>
1822     or <code>/special/data</code>.</p>
1823
1824 <h3>See also</h3>
1825 <ul>
1826 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt;
1827     and &lt;Files&gt; sections work</a> for an explanation of how these
1828     different sections are combined when a request is received</li>
1829 </ul>
1830 </div>
1831 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1832 <div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2>
1833 <table class="directive">
1834 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the verbosity of the ErrorLog</td></tr>
1835 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogLevel <var>level</var></code></td></tr>
1836 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>LogLevel warn</code></td></tr>
1837 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1838 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1839 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1840 </table>
1841     <p><code class="directive">LogLevel</code> adjusts the verbosity of the
1842     messages recorded in the error logs (see <code class="directive"><a href="#errorlog">ErrorLog</a></code> directive). The following
1843     <var>level</var>s are available, in order of decreasing
1844     significance:</p>
1845
1846     <table class="bordered">
1847       <tr>
1848         <th><strong>Level</strong> </th>
1849
1850         <th><strong>Description</strong> </th>
1851
1852         <th><strong>Example</strong> </th>
1853       </tr>
1854
1855       <tr>
1856         <td><code>emerg</code> </td>
1857
1858         <td>Emergencies - system is unusable.</td>
1859
1860         <td>"Child cannot open lock file. Exiting"</td>
1861       </tr>
1862
1863       <tr>
1864         <td><code>alert</code> </td>
1865
1866         <td>Action must be taken immediately.</td>
1867
1868         <td>"getpwuid: couldn't determine user name from uid"</td>
1869       </tr>
1870
1871       <tr>
1872         <td><code>crit</code> </td>
1873
1874         <td>Critical Conditions.</td>
1875
1876         <td>"socket: Failed to get a socket, exiting child"</td>
1877       </tr>
1878
1879       <tr>
1880         <td><code>error</code> </td>
1881
1882         <td>Error conditions.</td>
1883
1884         <td>"Premature end of script headers"</td>
1885       </tr>
1886
1887       <tr>
1888         <td><code>warn</code> </td>
1889
1890         <td>Warning conditions.</td>
1891
1892         <td>"child process 1234 did not exit, sending another
1893         SIGHUP"</td>
1894       </tr>
1895
1896       <tr>
1897         <td><code>notice</code> </td>
1898
1899         <td>Normal but significant condition.</td>
1900
1901         <td>"httpd: caught SIGBUS, attempting to dump core in
1902         ..."</td>
1903       </tr>
1904
1905       <tr>
1906         <td><code>info</code> </td>
1907
1908         <td>Informational.</td>
1909
1910         <td>"Server seems busy, (you may need to increase
1911         StartServers, or Min/MaxSpareServers)..."</td>
1912       </tr>
1913
1914       <tr>
1915         <td><code>debug</code> </td>
1916
1917         <td>Debug-level messages</td>
1918
1919         <td>"Opening config file ..."</td>
1920       </tr>
1921     </table>
1922
1923     <p>When a particular level is specified, messages from all
1924     other levels of higher significance will be reported as well.
1925     <em>E.g.</em>, when <code>LogLevel info</code> is specified,
1926     then messages with log levels of <code>notice</code> and
1927     <code>warn</code> will also be posted.</p>
1928
1929     <p>Using a level of at least <code>crit</code> is
1930     recommended.</p>
1931
1932     <p>For example:</p>
1933
1934     <div class="example"><p><code>
1935       LogLevel notice
1936     </code></p></div>
1937
1938 </div>
1939 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1940 <div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2>
1941 <table class="directive">
1942 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of requests allowed on a persistent
1943 connection</td></tr>
1944 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxKeepAliveRequests <var>number</var></code></td></tr>
1945 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
1946 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
1947 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1948 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1949 </table>
1950     <p>The <code class="directive">MaxKeepAliveRequests</code> directive
1951     limits the number of requests allowed per connection when
1952     <code class="directive"><a href="#keepalive">KeepAlive</a></code> is on. If it is
1953     set to <code>0</code>, unlimited requests will be allowed. We
1954     recommend that this setting be kept to a high value for maximum
1955     server performance.</p>
1956
1957     <p>For example:</p>
1958
1959     <div class="example"><p><code>
1960       MaxKeepAliveRequests 500
1961     </code></p></div>
1962
1963 </div>
1964 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1965 <div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2>
1966 <table class="directive">
1967 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Designates an IP address for name-virtual
1968 hosting</td></tr>
1969 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NameVirtualHost <var>addr</var>[:<var>port</var>]</code></td></tr>
1970 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
1971 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
1972 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1973 </table>
1974     <p>The <code class="directive">NameVirtualHost</code> directive is a
1975     required directive if you want to configure <a href="../vhosts/">name-based virtual hosts</a>.</p>
1976
1977     <p>Although <var>addr</var> can be hostname it is recommended
1978     that you always use an IP address, e.g.</p>
1979
1980     <div class="example"><p><code>
1981       NameVirtualHost 111.22.33.44
1982     </code></p></div>
1983
1984     <p>With the <code class="directive">NameVirtualHost</code> directive you
1985     specify the IP address on which the server will receive requests
1986     for the name-based virtual hosts. This will usually be the address
1987     to which your name-based virtual host names resolve. In cases
1988     where a firewall or other proxy receives the requests and forwards
1989     them on a different IP address to the server, you must specify the
1990     IP address of the physical interface on the machine which will be
1991     servicing the requests. If you have multiple name-based hosts on
1992     multiple addresses, repeat the directive for each address.</p>
1993
1994     <div class="note"><h3>Note</h3>
1995       <p>Note, that the "main server" and any <code>_default_</code> servers
1996       will <strong>never</strong> be served for a request to a
1997       <code class="directive">NameVirtualHost</code> IP Address (unless for some
1998       reason you specify <code class="directive">NameVirtualHost</code> but then
1999       don't define any <code class="directive">VirtualHost</code>s for that
2000       address).</p>
2001     </div>
2002
2003     <p>Optionally you can specify a port number on which the
2004     name-based virtual hosts should be used, e.g.</p>
2005
2006     <div class="example"><p><code>
2007       NameVirtualHost 111.22.33.44:8080
2008     </code></p></div>
2009
2010     <p>IPv6 addresses must be enclosed in square brackets, as shown
2011     in the following example:</p>
2012
2013     <div class="example"><p><code>
2014       NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080
2015     </code></p></div>
2016
2017     <p>To receive requests on all interfaces, you can use an argument of
2018     <code>*</code></p>
2019
2020     <div class="example"><p><code>
2021       NameVirtualHost *
2022     </code></p></div>
2023
2024     <div class="note"><h3>Argument to <code class="directive">&lt;VirtualHost&gt;</code>
2025       directive</h3>
2026       <p>Note that the argument to the <code class="directive">&lt;VirtualHost&gt;</code> directive must
2027       exactly match the argument to the <code class="directive">NameVirtualHost</code> directive.</p>
2028
2029       <div class="example"><p><code>
2030         NameVirtualHost 1.2.3.4<br />
2031         &lt;VirtualHost 1.2.3.4&gt;<br />
2032         # ...<br />
2033         &lt;/VirtualHost&gt;<br />
2034       </code></p></div>
2035     </div>
2036
2037 <h3>See also</h3>
2038 <ul>
2039 <li><a href="../vhosts/">Virtual Hosts
2040 documentation</a></li>
2041 </ul>
2042 </div>
2043 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2044 <div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2>
2045 <table class="directive">
2046 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures what features are available in a particular
2047 directory</td></tr>
2048 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Options
2049     [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
2050 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Options All</code></td></tr>
2051 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2052 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
2053 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2054 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2055 </table>
2056     <p>The <code class="directive">Options</code> directive controls which
2057     server features are available in a particular directory.</p>
2058
2059     <p><var>option</var> can be set to <code>None</code>, in which
2060     case none of the extra features are enabled, or one or more of
2061     the following:</p>
2062
2063     <dl>
2064       <dt><code>All</code></dt>
2065
2066       <dd>All options except for <code>MultiViews</code>. This is the default
2067       setting.</dd>
2068
2069       <dt><code>ExecCGI</code></dt>
2070
2071       <dd>
2072       Execution of CGI scripts is permitted.</dd>
2073
2074       <dt><code>FollowSymLinks</code></dt>
2075
2076       <dd>
2077
2078       The server will follow symbolic links in this directory.
2079       <div class="note">
2080       <p>Even though the server follows the symlink it does <em>not</em>
2081       change the pathname used to match against <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> sections.</p>
2082       <p>Note also, that this option <strong>gets ignored</strong> if set
2083       inside a <code class="directive"><a href="#location">&lt;Location&gt;</a></code>
2084       section.</p>
2085       </div></dd>
2086
2087       <dt><code>Includes</code></dt>
2088
2089       <dd>
2090       Server-side includes are permitted.</dd>
2091
2092       <dt><code>IncludesNOEXEC</code></dt>
2093
2094       <dd>
2095
2096       Server-side includes are permitted, but the <code>#exec cmd</code>
2097       and <code>#exec cgi</code> are disabled. It is still possible to
2098       <code>#include virtual</code> CGI scripts from
2099       <code class="directive">ScriptAlias</code>e'd directories.</dd>
2100
2101       <dt><code>Indexes</code></dt>
2102
2103       <dd>
2104       If a URL which maps to a directory is requested, and the
2105       there is no <code class="directive">DirectoryIndex</code> (<em>e.g.</em>,
2106       <code>index.html</code>) in that directory, then the server will
2107       return a formatted listing of the directory.</dd>
2108
2109       <dt><code>MultiViews</code></dt>
2110
2111       <dd>
2112       <a href="../content-negotiation.html">Content negotiated</a>
2113       "MultiViews" are allowed.</dd>
2114
2115       <dt><code>SymLinksIfOwnerMatch</code></dt>
2116
2117       <dd>
2118
2119       The server will only follow symbolic links for which the target
2120       file or directory is owned by the same user id as the link.<br /> <strong>Note</strong>: this option gets ignored if set inside
2121       a <code class="directive"><a href="#location">&lt;Location&gt;</a></code>
2122       section.</dd>
2123     </dl>
2124     <p>Normally, if multiple <code class="directive">Options</code> could apply to a
2125     directory, then the most specific one is taken complete; the
2126     options are not merged. However if <em>all</em> the options on
2127     the <code class="directive">Options</code> directive are preceded by a
2128     <code>+</code> or <code>-</code>
2129     symbol, the options are merged. Any options preceded by a <code>+</code>
2130     are added to the options currently in force, and any options
2131     preceded by a <code>-</code> are removed from the options currently in
2132     force. </p>
2133
2134     <p>For example, without any <code>+</code> and <code>-</code> symbols:</p>
2135
2136     <div class="example"><p><code>
2137       &lt;Directory /web/docs&gt;<br />
2138       <span class="indent">
2139         Options Indexes FollowSymLinks<br />
2140       </span>
2141       &lt;/Directory&gt;<br />
2142       <br />
2143       &lt;Directory /web/docs/spec&gt;<br />
2144       <span class="indent">
2145         Options Includes<br />
2146       </span>
2147       &lt;/Directory&gt;
2148     </code></p></div>
2149
2150     <p>then only <code>Includes</code> will be set for the
2151     <code>/web/docs/spec</code> directory. However if the second
2152     <code class="directive">Options</code> directive uses the <code>+</code> and
2153     <code>-</code> symbols:</p>
2154
2155     <div class="example"><p><code>
2156       &lt;Directory /web/docs&gt;<br />
2157       <span class="indent">
2158         Options Indexes FollowSymLinks<br />
2159       </span>
2160       &lt;/Directory&gt;<br />
2161       <br />
2162       &lt;Directory /web/docs/spec&gt;<br />
2163       <span class="indent">
2164         Options +Includes -Indexes<br />
2165       </span>
2166       &lt;/Directory&gt;
2167     </code></p></div>
2168
2169     <p>then the options <code>FollowSymLinks</code> and
2170     <code>Includes</code> are set for the <code>/web/docs/spec</code>
2171     directory.</p>
2172
2173     <div class="note"><h3>Note</h3>
2174       <p>Using <code>-IncludesNOEXEC</code> or
2175       <code>-Includes</code> disables server-side includes completely
2176       regardless of the previous setting.</p>
2177     </div>
2178
2179     <p>The default in the absence of any other settings is
2180     <code>All</code>.</p>
2181
2182 </div>
2183 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2184 <div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Directive</a></h2>
2185 <table class="directive">
2186 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Selects which authenticated users can access
2187 a resource</td></tr>
2188 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Require <var>entity-name</var> [<var>entity-name</var>] ...</code></td></tr>
2189 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
2190 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
2191 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2192 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2193 </table>
2194     <p>This directive selects which authenticated users can access
2195     a directory. The allowed syntaxes are:</p>
2196
2197     <dl>
2198       <dt><code>Require user <var>userid</var> [<var>userid</var>]
2199       ...</code></dt>
2200       <dd>Only the named users can access the resource.</dd>
2201
2202       <dt><code>Require group <var>group-name</var> [<var>group-name</var>]
2203       ...</code></dt>
2204       <dd>Only users in the named groups can access the resource.</dd>
2205
2206       <dt><code>Require valid-user</code></dt>
2207       <dd>All valid users can access the resource.</dd>
2208     </dl>
2209
2210     <p><code class="directive">Require</code> must be accompanied by
2211     <code class="directive"><a href="#authname">AuthName</a></code> and <code class="directive"><a href="#authtype">AuthType</a></code> directives, and directives such
2212     as <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
2213     and <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (to
2214     define users and groups) in order to work correctly. Example:</p>
2215
2216     <div class="example"><p><code>
2217        AuthType Basic<br />
2218        AuthName "Restricted Directory"<br />
2219        AuthUserFile /web/users<br />
2220        AuthGroupFile /web/groups<br />
2221        Require group admin
2222     </code></p></div>
2223
2224     <p>Access controls which are applied in this way are effective for
2225     <strong>all</strong> methods. <strong>This is what is normally
2226     desired.</strong> If you wish to apply access controls only to
2227     specific methods, while leaving other methods unprotected, then
2228     place the <code class="directive">Require</code> statement into a
2229     <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>
2230     section.</p>
2231
2232 <h3>See also</h3>
2233 <ul>
2234 <li><code class="directive"><a href="#satisfy">Satisfy</a></code></li>
2235 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
2236 </ul>
2237 </div>
2238 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2239 <div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2>
2240 <table class="directive">
2241 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the CPU consumption of processes launched
2242 by Apache children</td></tr>
2243 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</code></td></tr>
2244 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
2245 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2246 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
2247 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2248 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2249 </table>
2250     <p>Takes 1 or 2 parameters. The first parameter sets the soft
2251     resource limit for all processes and the second parameter sets
2252     the maximum resource limit. Either parameter can be a number,
2253     or <code>max</code> to indicate to the server that the limit should
2254     be set to the maximum allowed by the operating system
2255     configuration. Raising the maximum resource limit requires that
2256     the server is running as <code>root</code>, or in the initial startup
2257     phase.</p>
2258
2259     <p>This applies to processes forked off from Apache children
2260     servicing requests, not the Apache children themselves. This
2261     includes CGI scripts and SSI exec commands, but not any
2262     processes forked off from the Apache parent such as piped
2263     logs.</p>
2264
2265     <p>CPU resource limits are expressed in seconds per
2266     process.</p>
2267
2268 <h3>See also</h3>
2269 <ul>
2270 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
2271 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
2272 </ul>
2273 </div>
2274 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2275 <div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2>
2276 <table class="directive">
2277 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the memory consumption of processes launched
2278 by Apache children</td></tr>
2279 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</code></td></tr>
2280 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
2281 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2282 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
2283 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2284 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2285 </table>
2286     <p>Takes 1 or 2 parameters. The first parameter sets the soft
2287     resource limit for all processes and the second parameter sets
2288     the maximum resource limit. Either parameter can be a number,
2289     or <code>max</code> to indicate to the server that the limit should
2290     be set to the maximum allowed by the operating system
2291     configuration. Raising the maximum resource limit requires that
2292     the server is running as <code>root</code>, or in the initial startup
2293     phase.</p>
2294
2295     <p>This applies to processes forked off from Apache children
2296     servicing requests, not the Apache children themselves. This
2297     includes CGI scripts and SSI exec commands, but not any
2298     processes forked off from the Apache parent such as piped
2299     logs.</p>
2300
2301     <p>Memory resource limits are expressed in bytes per
2302     process.</p>
2303
2304 <h3>See also</h3>
2305 <ul>
2306 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
2307 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
2308 </ul>
2309 </div>
2310 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2311 <div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2>
2312 <table class="directive">
2313 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the number of processes that can be launched by
2314 processes launched by Apache children</td></tr>
2315 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</code></td></tr>
2316 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
2317 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2318 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
2319 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2320 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2321 </table>
2322     <p>Takes 1 or 2 parameters. The first parameter sets the soft
2323     resource limit for all processes and the second parameter sets
2324     the maximum resource limit. Either parameter can be a number,
2325     or <code>max</code> to indicate to the server that the limit
2326     should be set to the maximum allowed by the operating system
2327     configuration. Raising the maximum resource limit requires that
2328     the server is running as <code>root</code>, or in the initial startup
2329     phase.</p>
2330
2331     <p>This applies to processes forked off from Apache children
2332     servicing requests, not the Apache children themselves. This
2333     includes CGI scripts and SSI exec commands, but not any
2334     processes forked off from the Apache parent such as piped
2335     logs.</p>
2336
2337     <p>Process limits control the number of processes per user.</p>
2338
2339     <div class="note"><h3>Note</h3>
2340       <p>If CGI processes are <strong>not</strong> running
2341       under userids other than the web server userid, this directive
2342       will limit the number of processes that the server itself can
2343       create. Evidence of this situation will be indicated by
2344       <strong><code>cannot fork</code></strong> messages in the
2345       <code>error_log</code>.</p>
2346     </div>
2347
2348 <h3>See also</h3>
2349 <ul>
2350 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
2351 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
2352 </ul>
2353 </div>
2354 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2355 <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2>
2356 <table class="directive">
2357 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction between host-level access control and
2358 user authentication</td></tr>
2359 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr>
2360 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Satisfy All</code></td></tr>
2361 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
2362 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
2363 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2364 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2365 </table>
2366     <p>Access policy if both <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> and <code class="directive"><a href="#require">Require</a></code> used. The parameter can be
2367     either <code>All</code> or <code>Any</code>. This directive is only
2368     useful if access to a particular area is being restricted by both
2369     username/password <em>and</em> client host address. In this case
2370     the default behavior (<code>All</code>) is to require that the client
2371     passes the address access restriction <em>and</em> enters a valid
2372     username and password. With the <code>Any</code> option the client will be
2373     granted access if they either pass the host restriction or enter a
2374     valid username and password. This can be used to password restrict
2375     an area, but to let clients from particular addresses in without
2376     prompting for a password.</p>
2377
2378     <p>For example, if you wanted to let people on your network have
2379     unrestricted access to a portion of your website, but require that
2380     people outside of your network provide a password, you could use a
2381     configuration similar to the following:</p>
2382
2383     <div class="example"><p><code>
2384       Require valid-user<br />
2385       Allow from 192.168.1<br />
2386       Satisfy Any
2387     </code></p></div>
2388
2389
2390 <h3>See also</h3>
2391 <ul>
2392 <li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li>
2393 <li><code class="directive"><a href="#require">Require</a></code></li>
2394 </ul>
2395 </div>
2396 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2397 <div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2>
2398 <table class="directive">
2399 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique for locating the interpreter for CGI
2400 scripts</td></tr>
2401 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
2402 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
2403 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2404 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
2405 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2406 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2407 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Win32 only<br />
2408 option <code>Registry-Strict</code> is available in Apache 2.0 and
2409 later</td></tr>
2410 </table>
2411     <p>This directive is used to control how Apache finds the
2412     interpreter used to run CGI scripts. The default technique is to
2413     use the interpreter pointed to by the <code>#!</code> line in the
2414     script.</p>
2415
2416     <p>Setting <code>ScriptInterpreterSource Registry</code> will
2417     cause the Windows Registry to be searched using the script file
2418     extension (e.g., <code>.pl</code>) as a search key.</p>
2419
2420     <p>The option <code>Registry-Strict</code> which is new in Apache 2.0
2421     does the same as <code>Registry</code> but uses a more strict registry
2422     search.</p>
2423
2424 </div>
2425 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2426 <div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2>
2427 <table class="directive">
2428 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Email address that the server includes in error
2429 messages sent to the client</td></tr>
2430 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAdmin <var>email-address</var></code></td></tr>
2431 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
2432 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2433 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2434 </table>
2435     <p>The <code class="directive">ServerAdmin</code> sets the e-mail address
2436     that the server includes in any error messages it returns to the
2437     client.</p>
2438
2439     <p>It may be worth setting up a dedicated address for this, e.g.</p>
2440
2441     <div class="example"><p><code>
2442       ServerAdmin www-admin@foo.example.com
2443     </code></p></div>
2444     <p>as users do not always mention that they are talking about the
2445     server!</p>
2446
2447 </div>
2448 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2449 <div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2>
2450 <table class="directive">
2451 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Alternate names for a host used when matching requests
2452 to name-virtual hosts</td></tr>
2453 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</code></td></tr>
2454 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr>
2455 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2456 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2457 </table>
2458     <p>The <code class="directive">ServerAlias</code> directive sets the
2459     alternate names for a host, for use with <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p>
2460
2461     <div class="example"><p><code>
2462       &lt;VirtualHost *&gt;<br />
2463       ServerName server.domain.com<br />
2464       ServerAlias server server2.domain.com server2<br />
2465       # ...<br />
2466       &lt;/VirtualHost&gt;
2467     </code></p></div>
2468
2469 <h3>See also</h3>
2470 <ul>
2471 <li><a href="../vhosts/">Apache Virtual Host documentation</a></li>
2472 </ul>
2473 </div>
2474 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2475 <div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2>
2476 <table class="directive">
2477 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Hostname and port that the server uses to identify
2478 itself</td></tr>
2479 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerName <var>fully-qualified-domain-name</var>[:<var>port</var>]</code></td></tr>
2480 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
2481 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2482 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2483 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>In version 2.0, this
2484      directive supersedes the functionality of the <code class="directive">Port</code>
2485      directive from version 1.3.</td></tr>
2486 </table>
2487     <p>The <code class="directive">ServerName</code> directive sets the hostname and
2488     port that the server uses to identify itself.  This is used when
2489     creating redirection URLs. For example, if the name of the
2490     machine hosting the webserver is <code>simple.example.com</code>,
2491     but the machine also has the DNS alias <code>www.example.com</code>
2492     and you wish the webserver to be so identified, the following
2493     directive should be used:</p>
2494
2495     <div class="example"><p><code>
2496       ServerName www.example.com:80
2497     </code></p></div>
2498
2499     <p>If no <code class="directive">ServerName</code> is specified, then the
2500     server attempts to deduce the hostname by performing a reverse
2501     lookup on the IP address. If no port is specified in the
2502     servername, then the server will use the port from the incoming
2503     request. For optimal reliability and predictability, you should
2504     specify an explicit hostname and port using the
2505     <code class="directive">ServerName</code> directive.</p>
2506
2507     <p>If you are using <a href="../vhosts/name-based.html">name-based virtual hosts</a>,
2508     the <code class="directive">ServerName</code> inside a
2509     <code class="directive"><a href="#virtualhost">&lt;VirtualHost&gt;</a></code>
2510     section specifies what hostname must appear in the request's
2511     <code>Host:</code> header to match this virtual host.</p>
2512
2513     <p>See the description of the
2514     <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> directive for
2515     settings which determine whether self-referential URL's (e.g., by the
2516     <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> module) will refer to the
2517     specified port, or to the port number given in the client's request.
2518     </p>
2519
2520 <h3>See also</h3>
2521 <ul>
2522 <li><a href="../dns-caveats.html">Issues Regarding DNS and
2523     Apache</a></li>
2524 <li><a href="../vhosts/">Apache virtual host
2525     documentation</a></li>
2526 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
2527 <li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
2528 <li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
2529 </ul>
2530 </div>
2531 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2532 <div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2>
2533 <table class="directive">
2534 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Legacy URL pathname for a name-based virtual host that
2535 is accessed by an incompatible browser</td></tr>
2536 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerPath <var>URL-path</var></code></td></tr>
2537 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>virtual host</td></tr>
2538 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2539 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2540 </table>
2541     <p>The <code class="directive">ServerPath</code> directive sets the legacy
2542     URL pathname for a host, for use with <a href="../vhosts/">name-based virtual hosts</a>.</p>
2543
2544 <h3>See also</h3>
2545 <ul>
2546 <li><a href="../vhosts/">Apache Virtual Host documentation</a></li>
2547 </ul>
2548 </div>
2549 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2550 <div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2>
2551 <table class="directive">
2552 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base directory for the server installation</td></tr>
2553 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerRoot <var>directory-path</var></code></td></tr>
2554 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
2555 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
2556 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2557 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2558 </table>
2559     <p>The <code class="directive">ServerRoot</code> directive sets the
2560     directory in which the server lives. Typically it will contain the
2561     subdirectories <code>conf/</code> and <code>logs/</code>. Relative
2562     paths for other configuration files are taken as relative to this
2563     directory.</p>
2564
2565     <div class="example"><h3>Example</h3><p><code>
2566       ServerRoot /home/httpd
2567     </code></p></div>
2568
2569
2570 <h3>See also</h3>
2571 <ul>
2572 <li><a href="../invoking.html">the <code>-d</code>
2573     option to <code>httpd</code></a></li>
2574 <li><a href="../misc/security_tips.html#serverroot">the
2575     security tips</a> for information on how to properly set
2576     permissions on the <code class="directive">ServerRoot</code></li>
2577 </ul>
2578 </div>
2579 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2580 <div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2>
2581 <table class="directive">
2582 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the footer on server-generated documents</td></tr>
2583 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
2584 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerSignature Off</code></td></tr>
2585 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2586 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
2587 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2588 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2589 </table>
2590     <p>The <code class="directive">ServerSignature</code> directive allows the
2591     configuration of a trailing footer line under server-generated
2592     documents (error messages, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ftp directory
2593     listings, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> output, ...). The reason why you
2594     would want to enable such a footer line is that in a chain of proxies,
2595     the user often has no possibility to tell which of the chained servers
2596     actually produced a returned error message.</p>
2597
2598     <p>The <code>Off</code>
2599     setting, which is the default, suppresses the footer line (and is
2600     therefore compatible with the behavior of Apache-1.2 and
2601     below). The <code>On</code> setting simply adds a line with the
2602     server version number and <code class="directive"><a href="#servername">ServerName</a></code> of the serving virtual host,
2603     and the <code>EMail</code> setting additionally creates a
2604     "mailto:" reference to the <code class="directive"><a href="#serveradmin">ServerAdmin</a></code> of the referenced
2605     document.</p>
2606
2607     <p>After version 2.0.44, the details of the server version number
2608     presented are controlled by the <code class="directive"><a href="#servertokens">ServerTokens</a></code> directive.</p>
2609
2610 <h3>See also</h3>
2611 <ul>
2612 <li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
2613 </ul>
2614 </div>
2615 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2616 <div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2>
2617 <table class="directive">
2618 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures the Server HTTP response
2619 header</td></tr>
2620 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
2621 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ServerTokens Full</code></td></tr>
2622 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
2623 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2624 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2625 </table>
2626     <p>This directive controls whether <code>Server</code> response
2627     header field which is sent back to clients includes a
2628     description of the generic OS-type of the server as well as
2629     information about compiled-in modules.</p>
2630
2631     <dl>
2632       <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2633
2634       <dd>Server sends (<em>e.g.</em>): <code>Server:
2635       Apache</code></dd>
2636
2637       <dt><code>ServerTokens Major</code></dt>
2638
2639       <dd>Server sends (<em>e.g.</em>): <code>Server:
2640       Apache/2</code></dd>
2641
2642       <dt><code>ServerTokens Minor</code></dt>
2643
2644       <dd>Server sends (<em>e.g.</em>): <code>Server:
2645       Apache/2.0</code></dd>
2646
2647       <dt><code>ServerTokens Min[imal]</code></dt>
2648
2649       <dd>Server sends (<em>e.g.</em>): <code>Server:
2650       Apache/2.0.41</code></dd>
2651
2652       <dt><code>ServerTokens OS</code></dt>
2653
2654       <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.0.41
2655       (Unix)</code></dd>
2656
2657       <dt><code>ServerTokens Full</code> (or not specified)</dt>
2658
2659       <dd>Server sends (<em>e.g.</em>): <code>Server: Apache/2.0.41
2660       (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2661     </dl>
2662
2663     <p>This setting applies to the entire server, and cannot be
2664     enabled or disabled on a virtualhost-by-virtualhost basis.</p>
2665
2666     <p>After version 2.0.44, this directive also controls the
2667     information presented by the <code class="directive"><a href="#serversignature">ServerSignature</a></code> directive.</p>
2668
2669 <h3>See also</h3>
2670 <ul>
2671 <li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
2672 </ul>
2673 </div>
2674 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2675 <div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2>
2676 <table class="directive">
2677 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Forces all matching files to be processed by a
2678 handler</td></tr>
2679 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetHandler <var>handler-name</var>|None</code></td></tr>
2680 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2681 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
2682 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2683 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2684 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Moved into the core in Apache 2.0</td></tr>
2685 </table>
2686     <p>When placed into an <code>.htaccess</code> file or a
2687     <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> or
2688     <code class="directive"><a href="#location">&lt;Location&gt;</a></code>
2689     section, this directive forces all matching files to be parsed
2690     through the <a href="../handler.html">handler</a> given by
2691     <var>handler-name</var>. For example, if you had a directory you
2692     wanted to be parsed entirely as imagemap rule files, regardless
2693     of extension, you might put the following into an
2694     <code>.htaccess</code> file in that directory:</p>
2695
2696     <div class="example"><p><code>
2697       SetHandler imap-file
2698     </code></p></div>
2699
2700     <p>Another example: if you wanted to have the server display a
2701     status report whenever a URL of
2702     <code>http://servername/status</code> was called, you might put
2703     the following into <code>httpd.conf</code>:</p>
2704
2705     <div class="example"><p><code>
2706       &lt;Location /status&gt;<br />
2707       <span class="indent">
2708         SetHandler server-status<br />
2709       </span>
2710       &lt;/Location&gt;
2711     </code></p></div>
2712
2713     <p>You can override an earlier defined <code class="directive">SetHandler</code>
2714     directive by using the value <code>None</code>.</p>
2715
2716 <h3>See also</h3>
2717 <ul>
2718 <li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
2719 </ul>
2720 </div>
2721 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2722 <div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2>
2723 <table class="directive">
2724 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the filters that will process client requests and POST
2725 input</td></tr>
2726 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetInputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr>
2727 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2728 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
2729 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2730 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2731 </table>
2732     <p>The <code class="directive">SetInputFilter</code> directive sets the
2733     filter or filters which will process client requests and POST
2734     input when they are received by the server. This is in addition to
2735     any filters defined elsewhere, including the
2736     <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>
2737     directive.</p>
2738
2739     <p>If more than one filter is specified, they must be separated
2740     by semicolons in the order in which they should process the
2741     content.</p>
2742
2743 <h3>See also</h3>
2744 <ul>
2745 <li><a href="../filter.html">Filters</a> documentation</li>
2746 </ul>
2747 </div>
2748 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2749 <div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2>
2750 <table class="directive">
2751 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the filters that will process responses from the
2752 server</td></tr>
2753 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr>
2754 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
2755 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
2756 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2757 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2758 </table>
2759     <p>The <code class="directive">SetOutputFilter</code> directive sets the filters
2760     which will process responses from the server before they are
2761     sent to the client. This is in addition to any filters defined
2762     elsewhere, including the
2763     <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>
2764     directive.</p>
2765
2766     <p>For example, the following configuration will process all files
2767     in the <code>/www/data/</code> directory for server-side
2768     includes.</p>
2769
2770     <div class="example"><p><code>
2771       &lt;Directory /www/data/&gt;<br />
2772       <span class="indent">
2773         SetOutputFilter INCLUDES<br />
2774       </span>
2775       &lt;/Directory&gt;
2776     </code></p></div>
2777
2778     <p>If more than one filter is specified, they must be separated
2779     by semicolons in the order in which they should process the
2780     content.</p>
2781
2782 <h3>See also</h3>
2783 <ul>
2784 <li><a href="../filter.html">Filters</a> documentation</li>
2785 </ul>
2786 </div>
2787 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2788 <div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2>
2789 <table class="directive">
2790 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Amount of time the server will wait for
2791 certain events before failing a request</td></tr>
2792 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TimeOut <var>seconds</var></code></td></tr>
2793 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>TimeOut 300</code></td></tr>
2794 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
2795 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2796 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2797 </table>
2798     <p>The <code class="directive">TimeOut</code> directive currently defines
2799     the amount of time Apache will wait for three things:</p>
2800
2801     <ol>
2802       <li>The total amount of time it takes to receive a GET
2803       request.</li>
2804
2805       <li>The amount of time between receipt of TCP packets on a
2806       POST or PUT request.</li>
2807
2808       <li>The amount of time between ACKs on transmissions of TCP
2809       packets in responses.</li>
2810     </ol>
2811
2812     <p>We plan on making these separately configurable at some point
2813     down the road. The timer used to default to 1200 before 1.2,
2814     but has been lowered to 300 which is still far more than
2815     necessary in most situations. It is not set any lower by
2816     default because there may still be odd places in the code where
2817     the timer is not reset when a packet is sent. </p>
2818
2819 </div>
2820 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2821 <div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2>
2822 <table class="directive">
2823 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures how the server determines its own name and
2824 port</td></tr>
2825 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
2826 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>UseCanonicalName On</code></td></tr>
2827 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
2828 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2829 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2830 </table>
2831     <p>In many situations Apache must construct a <em>self-referential</em>
2832     URL -- that is, a URL that refers back to the same server. With
2833     <code>UseCanonicalName On</code> Apache will use the hostname and port
2834     specified in the <code class="directive"><a href="#servername">ServerName</a></code>
2835     directive to construct the canonical name for the server. This name
2836     is used in all self-referential URLs, and for the values of
2837     <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in CGIs.</p>
2838
2839     <p>With <code>UseCanonicalName Off</code> Apache will form
2840     self-referential URLs using the hostname and port supplied by
2841     the client if any are supplied (otherwise it will use the
2842     canonical name, as defined above). These values are the same
2843     that are used to implement <a href="../vhosts/name-based.html">name based virtual hosts</a>,
2844     and are available with the same clients. The CGI variables
2845     <code>SERVER_NAME</code> and <code>SERVER_PORT</code> will be
2846     constructed from the client supplied values as well.</p>
2847
2848     <p>An example where this may be useful is on an intranet server
2849     where you have users connecting to the machine using short
2850     names such as <code>www</code>. You'll notice that if the users
2851     type a shortname, and a URL which is a directory, such as
2852     <code>http://www/splat</code>, <em>without the trailing
2853     slash</em> then Apache will redirect them to
2854     <code>http://www.domain.com/splat/</code>. If you have
2855     authentication enabled, this will cause the user to have to
2856     authenticate twice (once for <code>www</code> and once again
2857     for <code>www.domain.com</code> -- see <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">the
2858     FAQ on this subject for more information</a>). But if
2859     <code class="directive">UseCanonicalName</code> is set <code>Off</code>, then
2860     Apache will redirect to <code>http://www/splat/</code>.</p>
2861
2862     <p>There is a third option, <code>UseCanonicalName DNS</code>,
2863     which is intended for use with mass IP-based virtual hosting to
2864     support ancient clients that do not provide a
2865     <code>Host:</code> header. With this option Apache does a
2866     reverse DNS lookup on the server IP address that the client
2867     connected to in order to work out self-referential URLs.</p>
2868
2869     <div class="warning"><h3>Warning</h3>
2870     <p>If CGIs make assumptions about the values of <code>SERVER_NAME</code>
2871     they may be broken by this option. The client is essentially free
2872     to give whatever value they want as a hostname. But if the CGI is
2873     only using <code>SERVER_NAME</code> to construct self-referential URLs
2874     then it should be just fine.</p>
2875     </div>
2876
2877 <h3>See also</h3>
2878 <ul>
2879 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
2880 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
2881 </ul>
2882 </div>
2883 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2884 <div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost">&lt;VirtualHost&gt;</a> <a name="virtualhost" id="virtualhost">Directive</a></h2>
2885 <table class="directive">
2886 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply only to a specific
2887 hostname or IP address</td></tr>
2888 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;VirtualHost
2889     <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
2890     ...&gt; ... &lt;/VirtualHost&gt;</code></td></tr>
2891 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
2892 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
2893 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2894 </table>
2895     <p><code class="directive">&lt;VirtualHost&gt;</code> and
2896     <code>&lt;/VirtualHost&gt;</code> are used to enclose a group of
2897     directives that will apply only to a particular virtual host. Any
2898     directive that is allowed in a virtual host context may be
2899     used. When the server receives a request for a document on a
2900     particular virtual host, it uses the configuration directives
2901     enclosed in the <code class="directive">&lt;VirtualHost&gt;</code>
2902     section. <var>Addr</var> can be:</p>
2903
2904     <ul>
2905       <li>The IP address of the virtual host;</li>
2906
2907       <li>A fully qualified domain name for the IP address of the
2908       virtual host;</li>
2909
2910       <li>The character <code>*</code>, which is used only in combination with
2911       <code>NameVirtualHost *</code> to match all IP addresses; or</li>
2912
2913       <li>The string <code>_default_</code>, which is used only
2914       with IP virtual hosting to catch unmatched IP addresses.</li>
2915     </ul>
2916
2917     <div class="example"><h3>Example</h3><p><code>
2918       &lt;VirtualHost 10.1.2.3&gt;<br />
2919       <span class="indent">
2920         ServerAdmin webmaster@host.foo.com<br />
2921         DocumentRoot /www/docs/host.foo.com<br />
2922         ServerName host.foo.com<br />
2923         ErrorLog logs/host.foo.com-error_log<br />
2924         TransferLog logs/host.foo.com-access_log<br />
2925       </span>
2926       &lt;/VirtualHost&gt;
2927     </code></p></div>
2928
2929
2930     <p>IPv6 addresses must be specified in square brackets because
2931     the optional port number could not be determined otherwise.  An
2932     IPv6 example is shown below:</p>
2933
2934     <div class="example"><p><code>
2935       &lt;VirtualHost [fe80::a00:20ff:fea7:ccea]&gt;<br />
2936       <span class="indent">
2937         ServerAdmin webmaster@host.example.com<br />
2938         DocumentRoot /www/docs/host.example.com<br />
2939         ServerName host.example.com<br />
2940         ErrorLog logs/host.example.com-error_log<br />
2941         TransferLog logs/host.example.com-access_log<br />
2942       </span>
2943       &lt;/VirtualHost&gt;
2944     </code></p></div>
2945
2946     <p>Each Virtual Host must correspond to a different IP address,
2947     different port number or a different host name for the server,
2948     in the former case the server machine must be configured to
2949     accept IP packets for multiple addresses. (If the machine does
2950     not have multiple network interfaces, then this can be
2951     accomplished with the <code>ifconfig alias</code> command -- if
2952     your OS supports it).</p>
2953
2954     <div class="note"><h3>Note</h3>
2955     <p>The use of <code class="directive">&lt;VirtualHost&gt;</code> does
2956     <strong>not</strong> affect what addresses Apache listens on. You
2957     may need to ensure that Apache is listening on the correct addresses
2958     using <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
2959     </div>
2960
2961     <p>When using IP-based virtual hosting, the special name
2962     <code>_default_</code> can be specified in
2963     which case this virtual host will match any IP address that is
2964     not explicitly listed in another virtual host. In the absence
2965     of any <code>_default_</code> virtual host the "main" server config,
2966     consisting of all those definitions outside any VirtualHost
2967     section, is used when no IP-match occurs.  (But note that any IP
2968     address that matches a <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> directive will use neither
2969     the "main" server config nor the <code>_default_</code> virtual host.
2970     See the <a href="../vhosts/name-based.html">name-based virtual hosting</a>
2971     documentation for further details.)</p>
2972
2973     <p>You can specify a <code>:port</code> to change the port that is
2974     matched. If unspecified then it defaults to the same port as the
2975     most recent <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
2976     statement of the main server. You may also specify <code>:*</code>
2977     to match all ports on that address. (This is recommended when used
2978     with <code>_default_</code>.)</p>
2979
2980     <div class="warning"><h3>Security</h3>
2981     <p>See the <a href="../misc/security_tips.html">security tips</a>
2982     document for details on why your security could be compromised if the
2983     directory where logfiles are stored is writable by anyone other
2984     than the user that starts the server.</p>
2985     </div>
2986
2987 <h3>See also</h3>
2988 <ul>
2989 <li><a href="../vhosts/">Apache Virtual Host documentation</a></li>
2990 <li><a href="../dns-caveats.html">Issues Regarding DNS and
2991      Apache</a></li>
2992 <li><a href="../bind.html">Setting
2993     which addresses and ports Apache uses</a></li>
2994 <li><a href="../sections.html">How &lt;Directory&gt;, &lt;Location&gt;
2995     and &lt;Files&gt; sections work</a> for an explanation of how these
2996     different sections are combined when a request is received</li>
2997 </ul>
2998 </div>
2999 </div>
3000 <div class="bottomlang">
3001 <p><span>Available Languages: </span><a href="../de/mod/core.html">&nbsp;de&nbsp;</a> | <a href="../en/mod/core.html">&nbsp;en&nbsp;</a></p>
3002 </div><div id="footer">
3003 <p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
3004 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
3005 </body></html>