directive-dict.html revision 20d504b66290d0fda516b93b37d6c44c271ccc7e
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <TITLE>Definitions of terms used to describe Apache directives
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann BGCOLOR="#FFFFFF"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann TEXT="#000000"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann LINK="#0000FF"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann VLINK="#000080"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ALINK="#FF0000"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<!--#include virtual="header.html" -->
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Each Apache configuration directive is described using a common format
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann that looks like this:
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Syntax"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Default"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <SAMP><EM>directive-name default-value</EM></SAMP>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Context"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Override"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Override:</STRONG></A> <EM>override</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Status"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Status:</STRONG></A> <EM>status</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Module"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Compatibility"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Each of the directive's attributes, complete with possible values
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann where possible, are described in this document.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <LI><A HREF="#Compatibility">Compatibility</A>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This indicates the format of the directive as it would appear in a
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann configuration file. This syntax is extremely directive-specific,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann and is described in detail in the directive's definition.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Generally, the directive name is followed by a series of one or
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann more space-separated arguments. If an argument contains a space,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann the argument must be enclosed in double quotes. Optional arguments
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann are enclosed in square brackets. Where an argument can take on more
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann than one possible value, the possible values are separated by
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann vertical bars "|". Literal text is presented in the default font,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann while argument-types for which substitution is necessary are
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <em>emphasized</em>. Directives which can take a variable number of
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann arguments will end in "..." indicating that the last argument is
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Directives use a great number of different argument types.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann A few common ones are defined below.</p>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>A complete Uniform Resource Locator including a scheme, hostname,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannand optional pathname as in
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<code>http://www.example.com/path/to/file.html</code></dd>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>The part of a <em>url</em> which follows the scheme and hostname
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannas in <code>/path/to/file.html</code>. The <em>url-path</em>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannrepresents a web-view of a resource, as opposed to a file-system
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>The path to a file in the local file-system beginning with the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannroot directory as in
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<code>/usr/local/apache/htdocs/path/to/file.html</code>. Unless
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannotherwise specified, a <em>file-path</em> which does not begin with a
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannslash will be treated as relative to the <a
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannhref="core.html#serverroot">ServerRoot</a>.</dd>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>The path to a directory in the local file-system beginning with
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannthe root directory as in
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<code>/usr/local/apache/htdocs/path/to/</code>.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>The name of a file with no accompanying path information as in
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>A <a href="/misc/FAQ.html#regex">regular expression</a>, which
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannis a way of describing a pattern to match in text. The directive
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmanndefinition will specify what the <em>regex</em> is matching
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>In general, this is the part of the <em>filename</em> which
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannfollows the last dot. However, Apache recognizes multiple filename
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannextensions, so if a <em>filename</em> contains more than one dot, each
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmanndot-separated part of the filename following the first dot is an
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<em>extension</em>. For example, the <em>filename</em>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<code>file.html.en</code> contains two extensions: <code>.html</code>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannand <code>.en</code>. For Apache directives, you may specify
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<em>extension</em>s with or without the leading dot. In addition,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<em>extension</em>s are not case sensitive.</dd>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>A method of describing the format of a file which consists of a
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannmajor format type and a minor format type, separated by a slash
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<dd>The name of an <a href="/env.html">environment variable</a>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmanndefined in the Apache configuration process. Note this is not
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannnecessarily the same as an operating system environment variable. See
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannthe <a href="/env.html">environment variable documentation</a> for
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmannmore details.</dd>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann If the directive has a default value (<EM>i.e.</EM>, if you omit it
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann from your configuration entirely, the Apache Web server will behave as
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann though you set it to a particular value), it is described here. If
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann there is no default value, this section should say
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann "<EM>None</EM>". Note that the default listed here is not
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann necessarily the same as the value the directive takes in the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann default httpd.conf distributed with the server.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This indicates where in the server's configuration files the directive
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann is legal. It's a comma-separated list of one or more of the following
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>This means that the directive may be used in the server
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <Directory> containers. It is not allowed in
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>This context means that the directive may appear inside
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <SAMP><VirtualHost></SAMP> containers in the server
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann configuration files.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>A directive marked as being valid in this context may be used
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <SAMP><Location></SAMP>, and <SAMP><Files></SAMP>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann containers in the server configuration files, subject to the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann restrictions outlined in <A HREF="/sections.html">How Directory,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Location and Files sections work</A>.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>If a directive is valid in this context, it means that it can
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann It may not be processed, though depending upon the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Override"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann >overrides</A>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann currently active.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann The directive is <EM>only</EM> allowed within the designated context;
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann if you try to use it elsewhere, you'll get a configuration error that
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann will either prevent the server from handling requests in that context
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann correctly, or will keep the server from operating at all --
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann The valid locations for the directive are actually the result of a
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Boolean OR of all of the listed contexts. In other words, a directive
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann that is marked as being valid in "<SAMP>server config,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann and in <SAMP>.htaccess</SAMP> files, but not within any
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <Directory> or <VirtualHost> containers.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This directive attribute indicates which configuration override must
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann be active in order for the directive to be processed when it appears
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann in a <SAMP>.htaccess</SAMP> file. If the directive's
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="#Context"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann attribute should say "<EM>Not applicable</EM>".
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann Overrides are activated by the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann HREF="core.html#allowoverride"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann directive, and apply to a particular scope (such as a directory) and
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann all descendants, unless further modified by other
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <SAMP>AllowOverride</SAMP> directives at lower levels. The
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann documentation for that directive also lists the possible override
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann names available.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This indicates how tightly bound into the Apache Web server the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann directive is; in other words, you may need to recompile the server
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann with an enhanced set of modules in order to gain access to the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann directive and its functionality. Possible values for this attribute
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>If a directive is listed as having "Core" status, that
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann means it is part of the innermost portions of the Apache Web server,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann and is always available.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>A directive labeled as having "MPM" status is
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann provided by a <a href="/mpm.html">Multi-Processing Module</a>.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This type of directive will be available if and only if you are
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann using one of the MPMs lised on the <a href="#Module">Module</a>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann line of the directive definition.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>A directive labeled as having "Base" status is
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann supported by one of the standard Apache modules which is compiled
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann into the server by default, and is therefore normally available
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann unless you've taken steps to remove the module from your configuration.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>A directive with "Extension" status is provided by one
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann of the modules included with the Apache server kit, but the module
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann isn't normally compiled into the server. To enable the directive
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann and its functionality, you will need to change the server build
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann configuration files and re-compile Apache.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <DD>"Experimental" status indicates that the directive is
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann available as part of the Apache kit, but you're on your own if you
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann try to use it. The directive is being documented for completeness,
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann and is not necessarily supported. The module which provides the
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann directive may or may not be compiled in by default; check the top of
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann the page which describes the directive and its module to see if it
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann remarks on the availability.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann This quite simply lists the name of the source module which defines
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann the directive.
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann <H2><A NAME="Compatibility">Compatibility</A></H2>
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann If the directive wasn't part of the original Apache version 1
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann distribution, the version in which it was introduced should be listed
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann here. If the directive has the same name as one from the NCSA HTTPd
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann server, any inconsistencies in behaviour between the two should also
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann be mentioned. Otherwise, this attribute should say "<EM>No
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann compatibility issues.</EM>"
6a4fa2d53294f484fa8788a75656eff4ad1fd703Daniel Hausmann<!--#include virtual="footer.html" -->