Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Apache/docs/manual/mod/   (Apache Software Stiftung Version 2.4.65©)  Datei vom 10.6.2025 mit Größe 295 kB image not shown  

Quellcode-Bibliothek core.html.en   Sprache: unbekannt

 
Untersuchungsergebnis.en Download desUnknown {[0] [0] [0]}zum Wurzelverzeichnis wechseln

<?xml version="1.0" encoding="UTF-8"?>
<!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=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>core - Apache HTTP Server Version 2.4</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Core Features</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/core.html" title="English"> en </a> |
<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/mod/core.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Core Apache HTTP Server features that are always
available</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgivar">CGIVar</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxpipelined">FlushMaxPipelined</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flushmaxthreshold">FlushMaxThreshold</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mergeslashes">MergeSlashes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#readbuffersize">ReadBufferSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#regexdefaultoptions">RegexDefaultOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#stricthostcheck">StrictHostCheck</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#unclist">UNCList</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
</ul>
<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Report a bug</a></li></ul><h3>See also</h3>
<ul class="seealso">
<li><a href="#comments_section">Comments</a></li></ul></div>

<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configures optimizations for a Protocol's Listener Sockets</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptFilter <var>protocol</var> <var>accept_filter</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>This directive enables operating system specific optimizations for a
       listening socket by the <code class="directive">Protocol</code> type.
       The basic premise is for the kernel to not send a socket to the server
       process until either data is received or an entire HTTP Request is buffered.
       Only <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9">
       FreeBSD's Accept Filters</a>, Linux's more primitive
       <code>TCP_DEFER_ACCEPT</code>, and Windows' optimized AcceptEx()
       are currently supported.</p>

    <p>Using <code>none</code> for an argument will disable any accept filters
       for that protocol.  This is useful for protocols that require a server
       send data first, such as <code>ftp:</code> or <code>nntp</code>:</p>
    <pre class="prettyprint lang-config">AcceptFilter nntp none</pre>


    <p>The default protocol names are <code>https</code> for port 443
       and <code>http</code> for all other ports.  To specify that another
       protocol is being used with a listening port, add the <var>protocol</var>
       argument to the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
       directive.</p>

    <p>The default values on FreeBSD are:</p>
    <pre class="prettyprint lang-config">AcceptFilter http httpready
AcceptFilter https dataready</pre>


    <p>The <code>httpready</code> accept filter buffers entire HTTP requests at
       the kernel level.  Once an entire request is received, the kernel then
       sends it to the server. See the
       <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">
       accf_http(9)</a> man page for more details.  Since HTTPS requests are
       encrypted, only the <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">
       accf_data(9)</a> filter is used.</p>

    <p>The default values on Linux are:</p>
    <pre class="prettyprint lang-config">AcceptFilter http data
AcceptFilter https data</pre>


    <p>Linux's <code>TCP_DEFER_ACCEPT</code> does not support buffering http
       requests.  Any value besides <code>none</code> will enable
       <code>TCP_DEFER_ACCEPT</code> on that listener. For more details
       see the Linux
       <a href="http://man7.org/linux/man-pages/man7/tcp.7.html">
       tcp(7)</a> man page.</p>

    <p>The default values on Windows are:</p>
    <pre class="prettyprint lang-config">AcceptFilter http connect
AcceptFilter https connect</pre>


    <p>Window's mpm_winnt interprets the AcceptFilter to toggle the AcceptEx()
       API, and does not support http protocol buffering. <code>connect</code>
       will use the AcceptEx() API, also retrieve the network endpoint
       addresses, but like <code>none</code> the <code>connect</code> option
       does not wait for the initial data transmission.</p>

    <p>On Windows, <code>none</code> uses accept() rather than AcceptEx()
       and will not recycle sockets between connections.  This is useful for
       network adapters with broken driver support, as well as some virtual
       network providers such as vpn drivers, or spam, virus or spyware
       filters.</p>

    <div class="warning">
      <h3>The <code>data</code> AcceptFilter (Windows)</h3>

      <p>For versions 2.4.23 and prior, the Windows <code>data</code> accept
         filter waited until data had been transmitted and the initial data
         buffer and network endpoint addresses had been retrieved from the
         single AcceptEx() invocation. This implementation was subject to a
         denial of service attack and has been disabled.</p>

      <p>Current releases of httpd default to the <code>connect</code> filter
         on Windows, and will fall back to <code>connect</code> if
         <code>data</code> is specified. Users of prior releases are encouraged
         to add an explicit setting of <code>connect</code> for their
         AcceptFilter, as shown above.</p>
    </div>


<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#protocol">Protocol</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Resources accept trailing pathname information</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>

    <p>This directive controls whether requests that contain trailing
    pathname information that follows an actual filename (or
    non-existent file in an existing directory) will be accepted or
    rejected.  The trailing pathname information can be made
    available to scripts in the <code>PATH_INFO</code> environment
    variable.</p>

    <p>For example, assume the location <code>/test/</code> points to
    a directory that contains only the single file
    <code>here.html</code>.  Then requests for
    <code>/test/here.html/more</code> and
    <code>/test/nothere.html/more</code> both collect
    <code>/more</code> as <code>PATH_INFO</code>.</p>

    <p>The three possible arguments for the
    <code class="directive">AcceptPathInfo</code> directive are:</p>
    <dl>
    <dt><code>Off</code></dt><dd>A request will only be accepted if it
    maps to a literal path that exists.  Therefore a request with
    trailing pathname information after the true filename such as
    <code>/test/here.html/more</code> in the above example will return
    a 404 NOT FOUND error.</dd>

    <dt><code>On</code></dt><dd>A request will be accepted if a
    leading path component maps to a file that exists.  The above
    example <code>/test/here.html/more</code> will be accepted if
    <code>/test/here.html</code> maps to a valid file.</dd>

    <dt><code>Default</code></dt><dd>The treatment of requests with
    trailing pathname information is determined by the <a href="../handler.html">handler</a> responsible for the request.
    The core handler for normal files defaults to rejecting
    <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-handler</a>, generally accept
    <code>PATH_INFO</code> by default.</dd>
    </dl>

    <p>The primary purpose of the <code>AcceptPathInfo</code>
    directive is to allow you to override the handler's choice of
    accepting or rejecting <code>PATH_INFO</code>. This override is required,
    for example, when you use a <a href="../filter.html">filter</a>, such
    as <a href="mod_include.html">INCLUDES</a>, to generate content
    based on <code>PATH_INFO</code>.  The core handler would usually reject
    the request, so you can use the following configuration to enable
    such a script:</p>

    <pre class="prettyprint lang-config"><Files "mypaths.shtml">
  Options +Includes
  SetOutputFilter INCLUDES
  AcceptPathInfo On
</Files></pre>



</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the distributed configuration file</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>While processing a request, the server looks for
    the first existing configuration file from this list of names in
    every directory of the path to the document, if distributed
    configuration files are <a href="#allowoverride">enabled for that
    directory</a>. For example:</p>

    <pre class="prettyprint lang-config">AccessFileName .acl</pre>


    <p>Before returning the document
    <code>/usr/local/web/index.html</code>, the server will read
    <code>/.acl</code>, <code>/usr/.acl</code>,
    <code>/usr/local/.acl</code> and <code>/usr/local/web/.acl</code>
    for directives unless they have been disabled with:</p>

    <pre class="prettyprint lang-config"><Directory "/">
    AllowOverride None
</Directory></pre>


<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
<li><a href="../configuring.html">Configuration Files</a></li>
<li><a href="../howto/htaccess.html">.htaccess Files</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default charset parameter to be added when a response
content-type is <code>text/plain</code> or <code>text/html</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>This directive specifies a default value for the media type
    charset parameter (the name of a character encoding) to be added
    to a response if and only if the response's content-type is either
    <code>text/plain</code> or <code>text/html</code>.  This should override
    any charset specified in the body of the response via a <code>META</code>
    element, though the exact behavior is often dependent on the user's client
    configuration. A setting of <code>AddDefaultCharset Off</code>
    disables this functionality. <code>AddDefaultCharset On</code> enables
    a default charset of <code>iso-8859-1</code>. Any other value is assumed
    to be the <var>charset</var> to be used, which should be one of the
    <a href="http://www.iana.org/assignments/character-sets">IANA registered
    charset values</a> for use in Internet media types (MIME types).
    For example:</p>

    <pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre>


    <p><code class="directive">AddDefaultCharset</code> should only be used when all
    of the text resources to which it applies are known to be in that
    character encoding and it is too inconvenient to label their charset
    individually. One such example is to add the charset parameter
    to resources containing generated content, such as legacy CGI
    scripts, that might be vulnerable to cross-site scripting attacks
    due to user-provided data being included in the output.  Note, however,
    that a better solution is to just fix (or delete) those scripts, since
    setting a default charset does not protect users that have enabled
    the "auto-detect character encoding" feature on their browser.</p>

<h3>See also</h3>
<ul>
<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether encoded path separators in URLs are allowed to
be passed through</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>
NoDecode option available in 2.3.12 and later.</td></tr>
</table>
    <p>The <code class="directive">AllowEncodedSlashes</code> directive allows URLs
    which contain encoded path separators (<code>%2F</code> for <code>/</code>
    and additionally <code>%5C</code> for <code>\</code> on accordant systems)
    to be used in the path info.</p>

    <p>With the default value, <code>Off</code>, such URLs are refused
    with a 404 (Not found) error.</p>

    <p>With the value <code>On</code>, such URLs are accepted, and encoded
      slashes are decoded like all other encoded characters.</p>

    <p>With the value <code>NoDecode</code>, such URLs are accepted, but
      encoded slashes are not decoded but left in their encoded state.</p>

    <p>Turning <code class="directive">AllowEncodedSlashes</code> <code>On</code> is
    mostly useful when used in conjunction with <code>PATH_INFO</code>.</p>

    <div class="note"><h3>Note</h3>
      <p>If encoded slashes are needed in path info, use of <code>NoDecode</code> is
      strongly recommended as a security measure.  Allowing slashes
      to be decoded could potentially allow unsafe paths.</p>
    </div>

<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types of directives that are allowed in
<code>.htaccess</code> files</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>When the server finds an <code>.htaccess</code> file (as
    specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>),
    it needs to know which directives declared in that file can override
    earlier configuration directives.</p>

    <div class="note"><h3>Only available in <Directory> sections</h3>
    <code class="directive">AllowOverride</code> is valid only in
    <code class="directive"><a href="#directory"><Directory></a></code>
    sections specified without regular expressions, not in <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> or
    <code class="directive"><a href="#files"><Files></a></code> sections.
    </div>

    <p>When this directive is set to <code>None</code> and <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> is set to
    <code>None</code>, <a href="#accessfilename">.htaccess</a> files are
    completely ignored. In this case, the server will not even attempt
    to read <code>.htaccess</code> files in the filesystem.</p>

    <p>When this directive is set to <code>All</code>, then any
    directive which has the .htaccess <a href="directive-dict.html#Context">Context</a> is allowed in
    <code>.htaccess</code> files.</p>

    <p>The <var>directive-type</var> can be one of the following
    groupings of directives. (See the <a href="overrides.html">override class
    index</a> for an up-to-date listing of which directives are enabled by each
    <var>directive-type</var>.)</p>

    <dl>
      <dt><a href="overrides.html#override-authconfig">AuthConfig</a></dt>

      <dd>

      Allow use of the authorization directives (<code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
      <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
      <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
      <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>,
      <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc.</em>).</dd>

      <dt><a href="overrides.html#override-fileinfo">FileInfo</a></dt>

      <dd>
      Allow use of the directives controlling document types
     (<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>,
      <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
      <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* and Remove* directives),
      document meta data (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>),
      <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives (<code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>),
      <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directives (<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>), and
      <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> from
      <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>.
      </dd>

      <dt><a href="overrides.html#override-indexes">Indexes</a></dt>

      <dd>
      Allow use of the directives controlling directory indexing
      (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
      <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>,
      <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
      <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>, <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>, <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>,
      <em>etc.</em>).</dd>

      <dt><a href="overrides.html#override-limit">Limit</a></dt>

      <dd>
      Allow use of the directives controlling host access (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd>

      <dt>Nonfatal=[Override|Unknown|All]</dt>

      <dd>
      Allow use of AllowOverride option to treat syntax errors in
      .htaccess as nonfatal. Instead of causing an Internal Server
      Error, disallowed or unrecognised directives will be ignored
      and a warning logged:
      <ul>
          <li><strong>Nonfatal=Override</strong> treats directives
              forbidden by AllowOverride as nonfatal.</li>
          <li><strong>Nonfatal=Unknown</strong> treats unknown directives
              as nonfatal.  This covers typos and directives implemented
              by a module that's not present.</li>
          <li><strong>Nonfatal=All</strong> treats both the above as nonfatal.</li>
      </ul>
      <p>Note that a syntax error in a valid directive will still cause
      an internal server error.</p>
      <div class="warning"><h3>Security</h3>
          Nonfatal errors may have security implications for .htaccess users.
          For example, if AllowOverride disallows AuthConfig, users'
          configuration designed to restrict access to a site will be disabled.
      </div>
      </dd>

      <dt><a href="overrides.html#override-options">Options</a>[=<var>Option</var>,...]</dt>

      <dd>
      Allow use of the directives controlling specific directory
      features (<code class="directive"><a href="#options">Options</a></code> and
      <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>).
      An equal sign may be given followed by a comma-separated list, without
      spaces, of options that may be set using the <code class="directive"><a href="#options">Options</a></code> command.

      <div class="note"><h3>Implicit disabling of Options</h3>
      <p>Even though the list of options that may be used in .htaccess files
         can be limited with this directive, as long as any <code class="directive"><a href="#options">Options</a></code> directive is allowed any
         other inherited option can be disabled by using the non-relative
         syntax.  In other words, this mechanism cannot force a specific option
         to remain <em>set</em> while allowing any others to be set.
      </p></div>

      <pre class="prettyprint lang-config">AllowOverride Options=Indexes,MultiViews</pre>

      </dd>
    </dl>

    <p>Example:</p>

    <pre class="prettyprint lang-config">AllowOverride AuthConfig Indexes</pre>


    <p>In the example above, all directives that are neither in the group
    <code>AuthConfig</code> nor <code>Indexes</code> cause an internal
    server error.</p>

    <div class="note"><p>For security and performance reasons, do not set
    <code>AllowOverride</code> to anything other than <code>None</code>
    in your <code><Directory "/"></code> block. Instead, find (or
    create) the <code><Directory></code> block that refers to the
    directory where you're actually planning to place a
    <code>.htaccess</code> file.</p>
    </div>

<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
<li><code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code></li>
<li><a href="../configuring.html">Configuration Files</a></li>
<li><a href="../howto/htaccess.html">.htaccess Files</a></li>
<li><a href="overrides.html">Override Class Index for .htaccess</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a> <a name="allowoverridelist" id="allowoverridelist">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Individual directives that are allowed in
<code>.htaccess</code> files</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverrideList None|<var>directive</var>
[<var>directive-type</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>AllowOverrideList None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>When the server finds an <code>.htaccess</code> file (as
    specified by <code class="directive"><a href="#accessfilename">AccessFileName</a></code>),
    it needs to know which directives declared in that file can override
    earlier configuration directives.</p>

    <div class="note"><h3>Only available in <Directory> sections</h3>
    <code class="directive">AllowOverrideList</code> is valid only in
    <code class="directive"><a href="#directory"><Directory></a></code>
    sections specified without regular expressions, not in <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> or
    <code class="directive"><a href="#files"><Files></a></code> sections.
    </div>

    <p>When this directive is set to <code>None</code> and <code class="directive"><a href="#allowoverride">AllowOverride</a></code> is set to <code>None</code>,
    then <a href="#accessfilename">.htaccess</a> files are completely
    ignored.  In this case, the server will not even attempt to read
    <code>.htaccess</code> files in the filesystem.</p>

    <p>Example:</p>

    <pre class="prettyprint lang-config">AllowOverride None
AllowOverrideList Redirect RedirectMatch</pre>


    <p>In the example above, only the <code>Redirect</code> and
    <code>RedirectMatch</code> directives are allowed. All others will
    cause an internal server error.</p>

    <p>Example:</p>

    <pre class="prettyprint lang-config">AllowOverride AuthConfig
AllowOverrideList CookieTracking CookieName</pre>


    <p>In the example above, <code class="directive"><a href="#allowoverride">AllowOverride</a></code>
    grants permission to the <code>AuthConfig</code>
    directive grouping and <code class="directive">AllowOverrideList</code> grants
    permission to only two directives from the <code>FileInfo</code> directive
    grouping. All others will cause an internal server error.</p>

<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
<li><a href="../configuring.html">Configuration Files</a></li>
<li><a href="../howto/htaccess.html">.htaccess Files</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique for locating the interpreter for CGI
scripts</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>NetWare only</td></tr>
</table>
    <p>This directive is used to control how Apache httpd finds the
    interpreter used to run CGI scripts. For example, setting
    <code>CGIMapExtension sys:\foo.nlm .foo</code> will
    cause all CGI script files with a <code>.foo</code> extension to
    be passed to the FOO interpreter.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a> <a name="cgipassauth" id="cgipassauth">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables passing HTTP authorization headers to scripts as CGI
variables</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIPassAuth On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CGIPassAuth Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.13 and later</td></tr>
</table>
    <p><code class="directive">CGIPassAuth</code> allows scripts access to HTTP
    authorization headers such as <code>Authorization</code>, which is
    required for scripts that implement HTTP Basic authentication.
    Normally these HTTP headers are hidden from scripts. This is to disallow
    scripts from seeing user ids and passwords used to access the server when
    HTTP Basic authentication is enabled in the web server.  This directive
    should be used when scripts are allowed to implement HTTP Basic
    authentication.</p>

    <p>This directive can be used instead of the compile-time setting
    <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> which has been available
    in previous versions of Apache HTTP Server.</p>

    <p>The setting is respected by any modules which use
    <code>ap_add_common_vars()</code>, such as <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>,
    <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>,
    <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>, and so on.  Notably, it affects
    modules which don't handle the request in the usual sense but
    still use this API; examples of this are <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>
    and <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>.  Third-party modules that don't
    use <code>ap_add_common_vars()</code> may choose to respect the setting
    as well.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CGIVar" id="CGIVar">CGIVar</a> <a name="cgivar" id="cgivar">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls how some CGI variables are set</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.21 and later</td></tr>
</table>
  <p>This directive controls how some CGI variables are set.</p>

  <p><strong>REQUEST_URI</strong> rules:</p>
  <dl>
    <dt><code>original-uri</code> (default)</dt>
    <dd>The value is taken from the original request line, and will not
    reflect internal redirects or subrequests which change the requested
    resource.</dd>
    <dt><code>current-uri</code></dt>
    <dd>The value reflects the resource currently being processed,
    which may be different than the original request from the client
    due to internal redirects or subrequests.</dd>
  </dl>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the generation of <code>Content-MD5</code> HTTP Response
headers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ContentDigest Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>This directive enables the generation of
    <code>Content-MD5</code> headers as defined in RFC1864
    respectively RFC2616.</p>

    <p>MD5 is an algorithm for computing a "message digest"
    (sometimes called "fingerprint") of arbitrary-length data, with
    a high degree of confidence that any alterations in the data
    will be reflected in alterations in the message digest.</p>

    <p>The <code>Content-MD5</code> header provides an end-to-end
    message integrity check (MIC) of the entity-body. A proxy or
    client may check this header for detecting accidental
    modification of the entity-body in transit. Example header:</p>

    <div class="example"><p><code>
      Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
    </code></p></div>

    <p>Note that this can cause performance problems on your server
    since the message digest is computed on every request (the
    values are not cached).</p>

    <p><code>Content-MD5</code> is only sent for documents served
    by the <code class="module"><a href="../mod/core.html">core</a></code>, and not by any module. For example,
    SSI documents, output from CGI scripts, and byte range responses
    do not have this header.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a> <a name="defaultruntimedir" id="defaultruntimedir">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base directory for the server run-time files</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultRuntimeDir <var>directory-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.2 and later</td></tr>
</table>
    <p>The <code class="directive">DefaultRuntimeDir</code> directive sets the
    directory in which the server will create various run-time files
    (shared memory, locks, etc.). If set as a relative path, the full path
    will be relative to <code class="directive">ServerRoot</code>.</p>

    <p><strong>Example</strong></p>
   <pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre>


    <p>The default location of <code class="directive">DefaultRuntimeDir</code> may be
    modified by changing the <code>DEFAULT_REL_RUNTIMEDIR</code> #define
    at build time.</p>

   <p>Note: <code class="directive">ServerRoot</code> should be specified before this
   directive is used. Otherwise, the default value of <code class="directive">ServerRoot</code>
   would be used to set the base directory.</p>


<h3>See also</h3>
<ul>
<li><a href="../misc/security_tips.html#serverroot">the
    security tips</a> for information on how to properly set
    permissions on the <code class="directive">ServerRoot</code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>This directive has no effect other than to emit warnings
if the value is not <code>none</code>. In prior versions, DefaultType
would specify a default media type to assign to response content for
which no other media type configuration could be found.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>media-type|none</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DefaultType none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The argument <code>none</code> is available in Apache httpd 2.2.7 and later.  All other choices are DISABLED for 2.3.x and later.</td></tr>
</table>
    <p>This directive has been disabled.  For backwards compatibility
    of configuration files, it may be specified with the value
    <code>none</code>, meaning no default media type. For example:</p>

    <pre class="prettyprint lang-config">DefaultType None</pre>


    <p><code>DefaultType None</code> is only available in
    httpd-2.2.7 and later.</p>

    <p>Use the mime.types configuration file and the
    <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> to configure media
    type assignments via file extensions, or the
    <code class="directive"><a href="#forcetype">ForceType</a></code> directive to configure
    the media type for specific resources. Otherwise, the server will
    send the response without a Content-Type header field and the
    recipient may attempt to guess the media type.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Define a variable</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Define <var>parameter-name</var> [<var>parameter-value</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p>In its one parameter form, <code class="directive">Define</code> is
    equivalent to passing the <code>-D</code> argument to
    <code class="program"><a href="../programs/httpd.html">httpd</a></code>. It can be used to toggle the use of
    <code class="directive"><a href="#ifdefine"><IfDefine></a></code>
    sections without needing to alter <code>-D</code> arguments in any
    startup scripts.</p>

    <p>In addition to that, if the second parameter is given, a config variable
    is set to this value. The variable can be used in the configuration using
    the <code>${VAR}</code> syntax. The variable is always globally defined
    and not limited to the scope of the surrounding config section.</p>

    <pre class="prettyprint lang-config"><IfDefine TEST>
  Define servername test.example.com
</IfDefine>
<IfDefine !TEST>
  Define servername www.example.com
  Define SSL
</IfDefine>

DocumentRoot "/var/www/${servername}/htdocs"</pre>


    <p>Variable names may not contain colon ":" characters, to avoid clashes
    with <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>'s syntax.</p>

    <div class="note"><h3>Virtual Host scope and pitfalls</h3>
      <p>While this directive is supported in virtual host context,
         the changes it makes are visible to any later configuration
         directives, beyond any enclosing virtual host.</p>
    </div>

<h3>See also</h3>
<ul>
<li><code class="directive"><a href="#undefine">UnDefine</a></code></li>
<li><code class="directive"><a href="#ifdefine">IfDefine</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose a group of directives that apply only to the
named file-system directory, sub-directories, and their contents.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Directory <var>directory-path</var>>
... </Directory></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p><code class="directive"><Directory></code> and
    <code></Directory></code> are used to enclose a group of
    directives that will apply only to the named directory,
    sub-directories of that directory, and the files within the respective
    directories.  Any directive that is allowed
    in a directory context may be used. <var>Directory-path</var> is
    either the full path to a directory, or a wild-card string using
    Unix shell-style matching. In a wild-card string, <code>?</code> matches
    any single character, and <code>*</code> matches any sequences of
    characters. You may also use <code>[]</code> character ranges. None
    of the wildcards match a `/' character, so <code><Directory
    "/*/public_html"></code> will not match
    <code>/home/user/public_html</code>, but <code><Directory
    "/home/*/public_html"></code> will match. Example:</p>

    <pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs">
  Options Indexes FollowSymLinks
</Directory></pre>


    <p>Directory paths <em>may</em> be quoted, if you like, however, it
    <em>must</em> be quoted if the path contains spaces. This is because a
    space would otherwise indicate the end of an argument.</p>

    <div class="note">
      <p>Be careful with the <var>directory-path</var> arguments:
      They have to literally match the filesystem path which Apache httpd uses
      to access the files. Directives applied to a particular
      <code><Directory></code> will not apply to files accessed from
      that same directory via a different path, such as via different symbolic
      links.</p>
    </div>

    <p><a class="glossarylink" href="../glossary.html#regex" title="see glossary">Regular
    expressions</a> can also be used, with the addition of the
    <code>~</code> character. For example:</p>

    <pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}">

</Directory></pre>


    <p>would match directories in <code>/www/</code> that consisted of
    three numbers.</p>

    <p>If multiple (non-regular expression) <code class="directive"><Directory></code> sections
    match the directory (or one of its parents) containing a document,
    then the directives are applied in the order of shortest match
    first, interspersed with the directives from the <a href="#accessfilename">.htaccess</a> files. For example,
    with</p>

    <pre class="prettyprint lang-config"><Directory "/">
  AllowOverride None
</Directory>

<Directory "/home">
  AllowOverride FileInfo
</Directory></pre>


    <p>for access to the document <code>/home/web/dir/doc.html</code>
    the steps are:</p>

    <ul>
      <li>Apply directive <code>AllowOverride None</code>
      (disabling <code>.htaccess</code> files).</li>

      <li>Apply directive <code>AllowOverride FileInfo</code> (for
      directory <code>/home</code>).</li>

      <li>Apply any <code>FileInfo</code> directives in
      <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> and
      <code>/home/web/dir/.htaccess</code> in that order.</li>
    </ul>

    <p>Regular expressions are not considered until after all of the
    normal sections have been applied. Then all of the regular
    expressions are tested in the order they appeared in the
    configuration file. For example, with</p>

    <pre class="prettyprint lang-config"><Directory ~ "abc$">
  # ... directives here ...
</Directory></pre>


    <p>the regular expression section won't be considered until after
    all normal <code class="directive"><Directory></code>s and
    <code>.htaccess</code> files have been applied. Then the regular
    expression will match on <code>/home/abc/public_html/abc</code> and
    the corresponding <code class="directive"><Directory></code> will
    be applied.</p>

   <p><strong>Note that the default access for
    <code><Directory "/"></code> is to permit all access.
    This means that Apache httpd will serve any file mapped from an URL. It is
    recommended that you change this with a block such
    as</strong></p>

    <pre class="prettyprint lang-config"><Directory "/">
  Require all denied
</Directory></pre>


    <p><strong>and then override this for directories you
    <em>want</em> accessible. See the <a href="../misc/security_tips.html">Security Tips</a> page for more
    details.</strong></p>

    <p>The directory sections occur in the <code>httpd.conf</code> file.
    <code class="directive"><Directory></code> directives
    cannot nest, and cannot appear in a <code class="directive"><a href="#limit"><Limit></a></code> or <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> section.</p>

<h3>See also</h3>
<ul>
<li><a href="../sections.html">How <Directory>,
    <Location> and <Files> sections work</a> for an
    explanation of how these different sections are combined when a
    request is received</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enclose directives that apply to
the contents of file-system directories matching a regular expression.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><DirectoryMatch <var>regex</var>>
... </DirectoryMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
    <p><code class="directive"><DirectoryMatch></code> and
    <code></DirectoryMatch></code> are used to enclose a group
    of directives which will apply only to the named directory (and the files within),
    the same as <code class="directive"><a href="#directory"><Directory></a></code>.
    However, it takes as an argument a
    <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular expression</a>.  For example:</p>

    <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
    # ...
</DirectoryMatch></pre>


    <p>matches directories in <code>/www/</code> (or any subdirectory thereof)
    that consist of three numbers.</p>

   <div class="note"><h3>Compatibility</h3>
      Prior to 2.3.9, this directive implicitly applied to sub-directories
--> --------------------

--> maximum size reached

--> --------------------

[ 0.105Quellennavigators  ]