<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
 <HEAD>
  <TITLE>Definitions of terms used to describe Apache directives
  </TITLE>
 </HEAD>
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
 <BODY
  BGCOLOR="#FFFFFF"
  TEXT="#000000"
  LINK="#0000FF"
  VLINK="#000080"
  ALINK="#FF0000"
 >
<!--#include virtual="header.html" -->
  <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>

  <P>
  Each Apache configuration directive is described using a common format
  that looks like this:
  </P>
  <DL>
   <DD><A
        HREF="#Syntax"
        REL="Help"
       ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
       <BR>
       <A
        HREF="#Default"
        REL="Help"
       ><STRONG>Default:</STRONG></A>
	<SAMP><EM>directive-name default-value</EM></SAMP>
       <BR>
       <A
        HREF="#Context"
        REL="Help"
       ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
       <BR>
       <A
        HREF="#Override"
        REL="Help"
       ><STRONG>Override:</STRONG></A> <EM>override</EM>
       <BR>
       <A
        HREF="#Status"
        REL="Help"
       ><STRONG>Status:</STRONG></A> <EM>status</EM>
       <BR>
       <A
        HREF="#Module"
        REL="Help"
       ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
       <BR>
       <A
        HREF="#Compatibility"
        REL="Help"
       ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
   </DD>
  </DL>
  <P>
  Each of the directive's attributes, complete with possible values
  where possible, are described in this document.
  </P>

  <H2>Directive Terms</H2>
  <UL>
   <LI><A HREF="#Syntax">Syntax</A>
   </LI>
   <LI><A HREF="#Default">Default</A>
   </LI>
   <LI><A HREF="#Context">Context</A>
   </LI>
   <LI><A HREF="#Override">Override</A>
   </LI>
   <LI><A HREF="#Status">Status</A>
   </LI>
   <LI><A HREF="#Module">Module</A>
   </LI>
   <LI><A HREF="#Compatibility">Compatibility</A>
   </LI>
  </UL>

  <HR>
  <H2><A NAME="Syntax">Syntax</A></H2>
  <P>
  This indicates the format of the directive as it would appear in a
  configuration file.  This syntax is extremely directive-specific, so
  refer to the text of the directive's description for details.
  </P>

  <HR>
  <H2><A NAME="Default">Default</A></H2>
  <P>
  If the directive has a default value (<EM>i.e.</EM>, if you omit it
  from your configuration entirely, the Apache Web server will behave as
  though you set it to a particular value), it is described here.  If
  there is no default value, this section should say
  &quot;<EM>None</EM>&quot;.
  </P>

  <HR>
  <H2><A NAME="Context">Context</A></H2>
  <P>
  This indicates where in the server's configuration files the directive
  is legal.  It's a comma-separated list of one or more of the following
  values:
  </P>
  <DL>
   <DT><STRONG>server config</STRONG>
   </DT>
   <DD>This means that the directive may be used in the server
    configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>,
    <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but
    <STRONG>not</STRONG> within any <SAMP>&lt;VirtualHost&gt;</SAMP> or
    &lt;Directory&gt; containers.  It is not allowed in
    <SAMP>.htaccess</SAMP> files at all.
    <P>
    </P>
   </DD>
   <DT><STRONG>virtual host</STRONG>
   </DT>
   <DD>This context means that the directive may appear inside
    <SAMP>&lt;VirtualHost&gt;</SAMP> containers in the server
    configuration files.
    <P>
    </P>
   </DD>
   <DT><STRONG>directory</STRONG>
   </DT>
   <DD>A directive marked as being valid in this context may be used
    inside <SAMP>&lt;Directory&gt;</SAMP> containers in the server
    configuration files.
    <P>
    </P>
   </DD>
   <DT><STRONG>.htaccess</STRONG>
   </DT>
   <DD>If a directive is valid in this context, it means that it can
    appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files.
    It may not be processed, though depending upon the
    <A
     HREF="#Override"
     REL="Help"
    >overrides</A>
    currently active.
    <P>
    </P>
   </DD>
  </DL>
  <P>
  The directive is <EM>only</EM> allowed within the designated context;
  if you try to use it elsewhere, you'll get a configuration error that
  will either prevent the server from handling requests in that context
  correctly, or will keep the server from operating at all --
  <EM>i.e.</EM>, the server won't even start.
  </P>
  <P>
  The valid locations for the directive are actually the result of a
  Boolean OR of all of the listed contexts.  In other words, a directive
  that is marked as being valid in &quot;<SAMP>server config,
  .htaccess</SAMP>&quot; can be used in the <SAMP>httpd.conf</SAMP> file
  and in <SAMP>.htaccess</SAMP> files, but not within any
  &lt;Directory&gt; or &lt;VirtualHost&gt; containers.
  </P>

  <HR>
  <H2><A NAME="Override">Override</A></H2>
  <P>
  This directive attribute indicates which configuration override must
  be active in order for the directive to be processed when it appears
  in a <SAMP>.htaccess</SAMP> file.  If the directive's
  <A
   HREF="#Context"
   REL="Help"
  >context</A>
  doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
  attribute should say &quot;<EM>Not applicable</EM>&quot;.
  </P>
  <P>
  Overrides are activated by the
  <A
   HREF="core.html#allowoverride"
   REL="Help"
  ><SAMP>AllowOverride</SAMP></A>
  directive, and apply to a particular scope (such as a directory) and
  all descendants, unless further modified by other
  <SAMP>AllowOverride</SAMP> directives at lower levels.  The
  documentation for that directive also lists the possible override
  names available.
  </P>

  <HR>
  <H2><A NAME="Status">Status</A></H2>
  <P>
  This indicates how tightly bound into the Apache Web server the
  directive is; in other words, you may need to recompile the server
  with an enhanced set of modules in order to gain access to the
  directive and its functionality.  Possible values for this attribute
  are:
  </P>
  <DL>
   <DT><STRONG>Core</STRONG>
   </DT>
   <DD>If a directive is listed as having &quot;Core&quot; status, that
    means it is part of the innermost portions of the Apache Web server,
    and is always available.
    <P>
    </P>
   </DD>
   <DT><STRONG>Base</STRONG>
   </DT>
   <DD>A directive labeled as having &quot;Base&quot; status is
    supported by one of the standard Apache modules which is compiled
    into the server by default, and is therefore normally available
    unless you've taken steps to remove the module from your configuration.
    <P>
    </P>
   </DD>
   <DT><STRONG>Extension</STRONG>
   </DT>
   <DD>A directive with &quot;Extension&quot; status is provided by one
    of the modules included with the Apache server kit, but the module
    isn't normally compiled into the server.  To enable the directive
    and its functionality, you will need to change the server build
    configuration files and re-compile Apache.
    <P>
    </P>
   </DD>
   <DT><STRONG>Experimental</STRONG>
   </DT>
   <DD>&quot;Experimental&quot; status indicates that the directive is
    available as part of the Apache kit, but you're on your own if you
    try to use it.  The directive is being documented for completeness,
    and is not necessarily supported.  The module which provides the
    directive may or may not be compiled in by default; check the top of
    the page which describes the directive and its module to see if it
    remarks on the availability.
    <P>
    </P>
   </DD>
  </DL>

  <HR>
  <H2><A NAME="Module">Module</A></H2>
  <P>
  This quite simply lists the name of the source module which defines
  the directive.
  </P>

  <HR>
  <H2><A NAME="Compatibility">Compatibility</A></H2>
  <P>
  If the directive wasn't part of the original Apache version 1
  distribution, the version in which it was introduced should be listed
  here.  If the directive has the same name as one from the NCSA HTTPd
  server, any inconsistencies in behaviour between the two should also
  be mentioned.  Otherwise, this attribute should say &quot;<EM>No
  compatibility issues.</EM>&quot;
  </P>
<!--#include virtual="footer.html" -->
 </BODY>
</HTML>
