<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Terms Used to Describe Directives - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/directive-dict.html" rel="canonical" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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/">Documentation</a> &gt; <a href="../">Version 2.0</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
            <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
        <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/mod/directive-dict.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Terms Used to Describe Directives</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/directive-dict.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>

    <p>This document describes the terms that are used to describe
    each Apache <a href="directives.html">configuration
    directive</a>.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Syntax</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Default">Default</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Context">Context</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Override">Override</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Status">Status</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Module">Module</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibility</a></li>
</ul><h3>See also</h3><ul class="seealso"><li><a href="../configuring.html">Configuration files</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Description" id="Description">Description</a></h2>

<p>A brief description of the purpose of the directive.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Syntax" id="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, and is described in detail in the
    directive's definition. Generally, the directive name is
    followed by a series of one or more space-separated arguments.
    If an argument contains a space, the argument must be enclosed
    in double quotes. Optional arguments are enclosed in square
    brackets. Where an argument can take on more than one possible
    value, the possible values are separated by vertical bars "|".
    Literal text is presented in the default font, while
    argument-types for which substitution is necessary are
    <em>emphasized</em>. Directives which can take a variable
    number of arguments will end in "..." indicating that the last
    argument is repeated.</p>

    <p>Directives use a great number of different argument types. A
    few common ones are defined below.</p>

    <dl>
      <dt><em>URL</em></dt>

      <dd>A complete Uniform Resource Locator including a scheme,
      hostname, and optional pathname as in
      <code>http://www.example.com/path/to/file.html</code></dd>

      <dt><em>URL-path</em></dt>

      <dd>The part of a <em>url</em> which follows the scheme and
      hostname as in <code>/path/to/file.html</code>. The
      <em>url-path</em> represents a web-view of a resource, as
      opposed to a file-system view.</dd>

      <dt><em>file-path</em></dt>

      <dd>The path to a file in the local file-system beginning
      with the root directory as in
      <code>/usr/local/apache/htdocs/path/to/file.html</code>.
      Unless otherwise specified, a <em>file-path</em> which does
      not begin with a slash will be treated as relative to the <a href="core.html#serverroot">ServerRoot</a>.</dd>

      <dt><em>directory-path</em></dt>

      <dd>The path to a directory in the local file-system
      beginning with the root directory as in
      <code>/usr/local/apache/htdocs/path/to/</code>.</dd>

      <dt><em>filename</em></dt>

      <dd>The name of a file with no accompanying path information
      as in <code>file.html</code>.</dd>

      <dt><em>regex</em></dt>

      <dd>A Perl-compatible <a href="../glossary.html#regex">regular
      expression</a>. The directive definition will specify what the
      <em>regex</em> is matching against.</dd>

      <dt><em>extension</em></dt>

      <dd>In general, this is the part of the <em>filename</em>
      which follows the last dot. However, Apache recognizes
      multiple filename extensions, so if a <em>filename</em>
      contains more than one dot, each dot-separated part of the
      filename following the first dot is an <em>extension</em>.
      For example, the <em>filename</em> <code>file.html.en</code>
      contains two extensions: <code>.html</code> and
      <code>.en</code>. For Apache directives, you may specify
      <em>extension</em>s with or without the leading dot. In
      addition, <em>extension</em>s are not case sensitive.</dd>

      <dt><em>MIME-type</em></dt>

      <dd>A method of describing the format of a file which
      consists of a major format type and a minor format type,
      separated by a slash as in <code>text/html</code>.</dd>

      <dt><em>env-variable</em></dt>

      <dd>The name of an <a href="../env.html">environment
      variable</a> defined in the Apache configuration process.
      Note this is not necessarily the same as an operating system
      environment variable. See the <a href="../env.html">environment variable documentation</a> for
      more details.</dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Default" id="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 "<em>None</em>". Note that the default listed here
    is not necessarily the same as the value the directive takes in
    the default httpd.conf distributed with the server.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Context" id="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>server config</dt>

      <dd>This means that the directive may be used in the server
      configuration files (<em>e.g.</em>, <code>httpd.conf</code>), but
      <strong>not</strong> within any
      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
      or <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>
      containers. It is not allowed in <code>.htaccess</code> files
      at all.</dd>

      <dt>virtual host</dt>

      <dd>This context means that the directive may appear inside
      <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
      containers in the server
      configuration files.</dd>

      <dt>directory</dt>

      <dd>A directive marked as being valid in this context may be
      used inside <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>,
      <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>,
      and <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>
      containers in the server configuration files, subject to the
      restrictions outlined in <a href="../sections.html">How
      Directory, Location and Files sections work</a>.</dd>

      <dt>.htaccess</dt>

      <dd>If a directive is valid in this context, it means that it
      can appear inside <em>per</em>-directory
      <code>.htaccess</code> files. It may not be processed, though
      depending upon the <a href="#Override">overrides</a> currently active.</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
    "<code>server config, .htaccess</code>" can be used in the
    <code>httpd.conf</code> file and in <code>.htaccess</code>
    files, but not within any <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> or
    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    containers.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Override" id="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 <code>.htaccess</code> file. If
    the directive's <a href="#Context">context</a>
    doesn't permit it to appear in <code>.htaccess</code> files,
    then no context will be listed.</p>

    <p>Overrides are activated by the <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive, and apply
    to a particular scope (such as a directory) and all
    descendants, unless further modified by other
    <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directives at
    lower levels. The documentation for that directive also lists the
    possible override names available.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Status" id="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>Core</dt>

      <dd>If a directive is listed as having "Core" status, that
      means it is part of the innermost portions of the Apache Web
      server, and is always available.</dd>

      <dt>MPM</dt>

      <dd>A directive labeled as having "MPM" status is provided by
      a <a href="../mpm.html">Multi-Processing Module</a>. This
      type of directive will be available if and only if you are
      using one of the MPMs listed on the <a href="#Module">Module</a> line of the directive
      definition.</dd>

      <dt>Base</dt>

      <dd>A directive labeled as having "Base" 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.</dd>

      <dt>Extension</dt>

      <dd>A directive with "Extension" 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.</dd>

      <dt>Experimental</dt>

      <dd>"Experimental" 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.</dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Module" id="Module">Module</a></h2>

    <p>This quite simply lists the name of the source module which
    defines the directive.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Compatibility" id="Compatibility">Compatibility</a></h2>

    <p>If the directive wasn't part of the original Apache version
    2 distribution, the version in which it was introduced should
    be listed here.  In addition, if the directive is available
    only on certain platforms, it will be noted here.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/directive-dict.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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>
</body></html>