<p>httpd is a modular server. This implies that only the most
basic functionality is included in the core server. Extended
@@ -134,7 +134,7 @@ Server.</p>
directive.
Otherwise, httpd must be recompiled to add or remove modules.
Configuration directives may be included conditional on a
presence of a particular module by enclosing them in an <codeclass="directive"><ahref="./mod/core.html#ifmodule"><IfModule></a></code> block. However,
presence of a particular module by enclosing them in an <codeclass="directive"><ahref="./mod/core.html#ifmodulesection"><IfModule></a></code> block. However,
<codeclass="directive"><IfModule></code> blocks are not
required, and in some cases may mask the fact that you're missing an
important module.</p>
@@ -148,12 +148,12 @@ Server.</p>
<h2><aname="scope"id="scope">Scope of Directives</a></h2>
<p>Directives placed in the main configuration files apply to
the entire server. If you wish to change the configuration for
only a part of the server, you can scope your directives by
placing them in <codeclass="directive"><ahref="./mod/core.html#directory"><Directory></a></code>, <codeclass="directive"><ahref="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <codeclass="directive"><ahref="./mod/core.html#files"><Files></a></code>, <codeclass="directive"><ahref="./mod/core.html#filesmatch"><FilesMatch></a></code>, <codeclass="directive"><ahref="./mod/core.html#location"><Location></a></code>, and <codeclass="directive"><ahref="./mod/core.html#locationmatch"><LocationMatch></a></code>
placing them in <codeclass="directive"><ahref="./mod/core.html#directorysection"><Directory></a></code>, <codeclass="directive"><ahref="./mod/core.html#directorymatchsection"><DirectoryMatch></a></code>, <codeclass="directive"><ahref="./mod/core.html#filessection"><Files></a></code>, <codeclass="directive"><ahref="./mod/core.html#filesmatchsection"><FilesMatch></a></code>, <codeclass="directive"><ahref="./mod/core.html#locationsection"><Location></a></code>, and <codeclass="directive"><ahref="./mod/core.html#locationmatchsection"><LocationMatch></a></code>
sections. These sections limit the application of the
directives which they enclose to particular filesystem
locations or URLs. They can also be nested, allowing for very
@@ -162,7 +162,7 @@ Server.</p>
<p>httpd has the capability to serve many different websites
simultaneously. This is called <ahref="vhosts/">Virtual
Hosting</a>. Directives can also be scoped by placing them
<p><code>MultiViews</code> is a per-directory option, meaning it
can be set with an <codeclass="directive"><ahref="./mod/core.html#options">Options</a></code>
directive within a <codeclass="directive"><ahref="./mod/core.html#directory"><Directory></a></code>, <codeclass="directive"><ahref="./mod/core.html#location"><Location></a></code> or <codeclass="directive"><ahref="./mod/core.html#files"><Files></a></code> section in
directive within a <codeclass="directive"><ahref="./mod/core.html#directorysection"><Directory></a></code>, <codeclass="directive"><ahref="./mod/core.html#locationsection"><Location></a></code> or <codeclass="directive"><ahref="./mod/core.html#filessection"><Files></a></code> section in
<code>httpd.conf</code>, or (if <codeclass="directive"><ahref="./mod/core.html#allowoverride">AllowOverride</a></code> is properly set) in
<code>.htaccess</code> files. Note that <code>Options All</code>
does not set <code>MultiViews</code>; you have to ask for it by
point to per-module configuration structures. Specifically, these hold
pointers to the data structures which the module has built to describe
the way it has been configured to operate in a given directory (via
<code>.htaccess</code> files or <codeclass="directive"><ahref="../mod/core.html#directory"><Directory></a></code> sections), for private data it has built in the
<code>.htaccess</code> files or <codeclass="directive"><ahref="../mod/core.html#directorysection"><Directory></a></code> sections), for private data it has built in the
course of servicing the request (so modules' handlers for one phase can
pass `notes' to their handlers for other phases). There is another such
configuration vector in the <code>server_rec</code> data structure pointed
filesystem, following the translated pathname, to read any
<code>.htaccess</code> files which might be present. The information which
is read in then has to be <em>merged</em> with the applicable information
from the server's own config files (either from the <codeclass="directive"><ahref="../mod/core.html#directory"><Directory></a></code> sections in
from the server's own config files (either from the <codeclass="directive"><ahref="../mod/core.html#directorysection"><Directory></a></code> sections in
<code>access.conf</code>, or from defaults in <code>srm.conf</code>, which
actually behaves for most purposes almost exactly like <code><Directory
table *encoding_types; /* Added with AddEncoding... */
} mime_dir_config;</pre></div>
<p>When the server is reading a configuration file, or <codeclass="directive"><ahref="../mod/core.html#directory"><Directory></a></code> section, which includes
<p>When the server is reading a configuration file, or <codeclass="directive"><ahref="../mod/core.html#directorysection"><Directory></a></code> section, which includes
one of the MIME module's commands, it needs to create a
<code>mime_dir_config</code> structure, so those commands have something
to act on. It does this by invoking the function it finds in the module's
If the URI is nothing more than a local (non-proxy) <code>TRACE</code>
request, the core handles the request and returns <code>DONE</code>.
If no module answers this hook with <code>OK</code> or <code>DONE</code>,
the core will run the request filename against the <codeclass="directive"><ahref="../mod/core.html#directory"><Directory></a></code> and <codeclass="directive"><ahref="../mod/core.html#files"><Files></a></code> sections. If the request
the core will run the request filename against the <codeclass="directive"><ahref="../mod/core.html#directorysection"><Directory></a></code> and <codeclass="directive"><ahref="../mod/core.html#filessection"><Files></a></code> sections. If the request
'filename' isn't an absolute, legal filename, a note is set for
later termination.</p>
@@ -135,7 +135,7 @@
<p>Every request is hardened by a second
<code>ap_location_walk()</code> call. This reassures that a
translated request is still subjected to the configured