summaryrefslogtreecommitdiff
path: root/docs/manual/mod/core.html.en
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/mod/core.html.en')
-rw-r--r--docs/manual/mod/core.html.en94
1 files changed, 63 insertions, 31 deletions
diff --git a/docs/manual/mod/core.html.en b/docs/manual/mod/core.html.en
index c2aec5ae..ae769061 100644
--- a/docs/manual/mod/core.html.en
+++ b/docs/manual/mod/core.html.en
@@ -48,6 +48,7 @@ available</td></tr>
<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>
@@ -122,7 +123,9 @@ available</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
</ul>
-<ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=core">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;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>
@@ -420,7 +423,7 @@ NoDecode option available in 2.3.12 and later.</td></tr>
</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
+ <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>
@@ -505,8 +508,8 @@ NoDecode option available in 2.3.12 and later.</td></tr>
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.
+ 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
@@ -663,6 +666,32 @@ variables</td></tr>
</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
@@ -814,7 +843,7 @@ DocumentRoot "/var/www/${servername}/htdocs"</pre>
<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>&lt;Directory "<var>directory-path</var>"&gt;
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Directory <var>directory-path</var>&gt;
... &lt;/Directory&gt;</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>
@@ -986,7 +1015,7 @@ the contents of file-system directories matching a regular expression.</td></tr>
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
-<pre class="prettyprint lang-config">&lt;DirectoryMatch "^/var/www/combined/(?&lt;sitename&gt;[^/]+)"&gt;
+ <pre class="prettyprint lang-config">&lt;DirectoryMatch "^/var/www/combined/(?&lt;sitename&gt;[^/]+)"&gt;
Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
&lt;/DirectoryMatch&gt;</pre>
@@ -1587,7 +1616,7 @@ ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ re
<p>This would result in error messages such as:</p>
- <div class="example"><p><code>
+ <div class="example"><p><code>
[Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
</code></p></div>
@@ -1721,7 +1750,7 @@ earlier.</td></tr>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contains directives that apply to matched
filenames</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Files "<var>filename</var>"&gt; ... &lt;/Files&gt;</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</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>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
@@ -1794,7 +1823,7 @@ filenames</td></tr>
does. However, it accepts a <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
expression</a>. For example:</p>
-<pre class="prettyprint lang-config">&lt;FilesMatch ".+\.(gif|jpe?g|png)$"&gt;
+ <pre class="prettyprint lang-config">&lt;FilesMatch ".+\.(gif|jpe?g|png)$"&gt;
# ...
&lt;/FilesMatch&gt;</pre>
@@ -1812,7 +1841,7 @@ filenames</td></tr>
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
-<pre class="prettyprint lang-config">&lt;FilesMatch "^(?&lt;sitename&gt;[^/]+)"&gt;
+ <pre class="prettyprint lang-config">&lt;FilesMatch "^(?&lt;sitename&gt;[^/]+)"&gt;
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
&lt;/FilesMatch&gt;</pre>
@@ -2622,7 +2651,7 @@ from the client</td></tr>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applies the enclosed directives only to matching
URLs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Location
- "<var>URL-path</var>|<var>URL</var>"&gt; ... &lt;/Location&gt;</code></td></tr>
+ <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</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>
@@ -2789,7 +2818,7 @@ matching URLs</td></tr>
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
-<pre class="prettyprint lang-config">&lt;LocationMatch "^/combined/(?&lt;sitename&gt;[^/]+)"&gt;
+ <pre class="prettyprint lang-config">&lt;LocationMatch "^/combined/(?&lt;sitename&gt;[^/]+)"&gt;
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
&lt;/LocationMatch&gt;</pre>
@@ -2998,9 +3027,9 @@ LogLevel info ssl_module:warn</pre>
<div class="note">
Per directory loglevel configuration only affects messages that are
- logged after the request has been parsed and that are associated with
- the request. Log messages which are associated with the connection or
- the server are not affected.
+ logged after the request has been parsed and that are associated with
+ the request. Log messages which are associated with the connection or
+ the server are not affected.
</div>
<h3>See also</h3>
@@ -3148,8 +3177,8 @@ resource </td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.11 and later</td></tr>
</table>
<p>This directive controls whether HTTP trailers are copied into the
- internal representation of HTTP headers. This merging occurs when the
- request body has been completely consumed, long after most header
+ internal representation of HTTP headers. This merging occurs when the
+ request body has been completely consumed, long after most header
processing would have a chance to examine or modify request headers.</p>
<p>This option is provided for compatibility with releases prior to 2.4.11,
where trailers were always merged.</p>
@@ -3505,7 +3534,7 @@ directory</td></tr>
<p>Normally, if multiple <code class="directive">Options</code> could
apply to a directory, then the most specific one is used and
- others are ignored; the options are not merged. (See <a href="../sections.html#mergin">how sections are merged</a>.)
+ others are ignored; the options are not merged. (See <a href="../sections.html#merging">how sections are merged</a>.)
However if <em>all</em> the options on the
<code class="directive">Options</code> directive are preceded by a
<code>+</code> or <code>-</code> symbol, the options are
@@ -3579,7 +3608,8 @@ On Windows, from Apache 2.3.3 and later.</td></tr>
otherwise, <code>http</code> is assumed for port 80 and <code>https</code>
for port 443.</p>
- <p>For example, if you are running <code>https</code> on a non-standard port, specify the protocol explicitly:</p>
+ <p>For example, if you are running <code>https</code> on a non-standard port,
+ specify the protocol explicitly:</p>
<pre class="prettyprint lang-config">Protocol https</pre>
@@ -3669,7 +3699,7 @@ On Windows, from Apache 2.3.3 and later.</td></tr>
<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a> <a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the REDIRECT_URL environment variable is
-fully qualified</td></tr>
+ fully qualified</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
@@ -3957,8 +3987,8 @@ to name-virtual hosts</td></tr>
in the order they appear in the configuration. The first matching <code class="directive"><a href="#servername">ServerName</a></code> or <code class="directive"><a href="#serveralias">ServerAlias</a></code> is used, with no different precedence for wildcards
(nor for ServerName vs. ServerAlias). </p>
- <p>The complete list of names in the <code class="directive">VirtualHost</code>
- directive are treated just like a (non wildcard)
+ <p>The complete list of names in the <code class="directive"><a href="#virtualhost">&lt;VirtualHost&gt;</a></code>
+ directive are treated just like a (non wildcard)
<code class="directive">ServerAlias</code>.</p>
@@ -3983,12 +4013,12 @@ itself</td></tr>
</p>
<p><code class="directive">ServerName</code> is used (possibly
- in conjunction with <code class="directive">ServerAlias</code>) to uniquely
+ in conjunction with <code class="directive"><a href="#serveralias">ServerAlias</a></code>) to uniquely
identify a virtual host, when using <a href="../vhosts/name-based.html">name-based virtual hosts</a>.</p>
<p>Additionally, this is used when
creating self-referential redirection URLs when
- <code class="directive">UseCanonicalName</code> is set to a non-default
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> is set to a non-default
value.</p>
<p>For example, if the name of the
@@ -4009,7 +4039,7 @@ itself</td></tr>
server attempts to deduce the client visible hostname by first asking
the operating system for the system hostname, and if that fails,
performing a reverse lookup on an IP address present on the system.</p>
-
+
<p>If no port is specified in the
<code class="directive">ServerName</code>, then the server will use the
port from the incoming request. For optimal reliability and
@@ -4407,16 +4437,18 @@ certain events before failing a request</td></tr>
<p>Finally, for testing and diagnostic purposes only, request
bodies may be allowed using the non-compliant <code>TraceEnable
extended</code> directive. The core (as an origin server) will
- restrict the request body to 64k (plus 8k for chunk headers if
+ restrict the request body to 64Kb (plus 8Kb for chunk headers if
<code>Transfer-Encoding: chunked</code> is used). The core will
reflect the full headers and all chunk headers with the response
- body. As a proxy server, the request body is not restricted to 64k.</p>
+ body. As a proxy server, the request body is not restricted to 64Kb.</p>
<div class="note"><h3>Note</h3>
- <p>Despite claims to the contrary, <code>TRACE</code> is not
- a security vulnerability, and there is no viable reason for
- it to be disabled. Doing so necessarily makes your server
- noncompliant.</p>
+
+ <p>Despite claims to the contrary, enabling the <code>TRACE</code>
+ method does not expose any security vulnerability in Apache httpd.
+ The <code>TRACE</code> method is defined by the HTTP/1.1
+ specification and implementations are expected to support it.</p>
+
</div>
</div>