Define PATH_INFO in glossary.xml with an example
(/app/index.php/extra/path), reference to AcceptPathInfo directive,
and RFC 3875 section 4.1.5 citation.
Convert the first prose mention of PATH_INFO in 14 files to
<glossary ref="pathinfo"> links. Subsequent mentions within the same
document are left as <code> or plain text to avoid link spam.
Skipped mod_ext_filter.xml (only occurrence is inside the compound
variable name DOCUMENT_PATH_INFO) and mod_ssl.xml (inside a <pre>
block where markup links are inappropriate).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1934245 13f79535-47bb-0310-9956-
ffa450edef68
<section id="path-info">
<title>PATH_INFO</title>
- <p>The variable <code>PATH_INFO</code> is set to
+ <p>The variable <glossary ref="pathinfo">PATH_INFO</glossary> is set to
the any value that appears after a matches resource
at the end of the URL, not including any
<code>QUERY_STRING</code>. This is best shown by
<td>The user name of the owner of the script.</td></tr>
<tr><td><code>SCRIPT_GROUP</code></td>
<td>The group name of the group of the script.</td></tr>
- <tr><td><code>PATH_INFO</code></td>
+ <tr><td><glossary ref="pathinfo">PATH_INFO</glossary></td>
<td>The trailing path name information, see
<directive module="core">AcceptPathInfo</directive></td></tr>
<tr><td><code>QUERY_STRING</code></td>
See: <a href="sections.html">Configuration Sections</a>
</dd>
+ <dt><a name="pathinfo" id="pathinfo">PATH_INFO</a></dt>
+ <dd>The trailing path information that follows the actual filename
+ in a URL. For example, if <code>/app/index.php/extra/path</code>
+ maps to the file <code>/app/index.php</code>, then the PATH_INFO
+ is <code>/extra/path</code>. It is passed to CGI scripts, PHP,
+ and other handlers as additional context about the request. The
+ <directive module="core">AcceptPathInfo</directive> directive controls
+ whether requests with trailing path information are accepted or
+ rejected.<br />
+ See: <rfc section="4.1.5">3875</rfc>
+ </dd>
+
<dt><a name="plaintext" id="plaintext">Plaintext</a></dt>
<dd>The unencrypted text.</dd>
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
+ available to scripts in the <glossary ref="pathinfo">PATH_INFO</glossary> environment
variable.</p>
<p>For example, assume the location <code>/test/</code> points to
href="../handler.html">handler</a> or a <glossary
ref="mime-type">MIME content type</glossary>. It sends the URL and
file path of the requested document using the standard CGI
- <code>PATH_INFO</code> and <code>PATH_TRANSLATED</code>
+ <glossary ref="pathinfo">PATH_INFO</glossary> and <code>PATH_TRANSLATED</code>
environment variables. The handler used for the particular request
is passed using the <code>REDIRECT_HANDLER</code> variable.</p>
with the following provisions:</p>
<dl>
- <dt>PATH_INFO</dt>
+ <dt><glossary ref="pathinfo">PATH_INFO</glossary></dt>
<dd>This will not be available if the <directive module="core"
>AcceptPathInfo</directive> directive is explicitly set to
<title>PATH_INFO with Server Side Includes</title>
<p>Files processed for server-side includes no longer accept
- requests with <code>PATH_INFO</code> (trailing pathname information)
+ requests with <glossary ref="pathinfo">PATH_INFO</glossary> (trailing pathname information)
by default. You can use the <directive
module="core">AcceptPathInfo</directive> directive to
configure the server to accept requests with <code>PATH_INFO</code>.</p>
<td><code>path_info</code></td>
<td>string</td>
<td>no</td>
- <td>The PATH_INFO extracted from this request.</td>
+ <td>The <glossary ref="pathinfo">PATH_INFO</glossary> extracted from this request.</td>
</tr>
<tr>
<td><code>port</code></td>
<p>Normally, mod_proxy will canonicalise ProxyPassed URLs.
But this may be incompatible with some backends, particularly those
- that make use of <var>PATH_INFO</var>. The optional <var>nocanon</var>
+ that make use of <var><glossary ref="pathinfo">PATH_INFO</glossary></var>. The optional <var>nocanon</var>
keyword suppresses this and passes the URL path "raw" to the
backend. Note that this keyword may affect the security of your backend,
as it removes the normal limited protection against URL-based attacks
allows the normal mapping of URI to filename to occur in the server, and the
local filesystem result is passed to the backend. When FastCGI is
configured this way, the server can calculate the most accurate
- PATH_INFO.
+ <glossary ref="pathinfo">PATH_INFO</glossary>.
</p>
<example><title>Proxy via Handler</title>
<highlight language="config">
<dl>
<dt>proxy-scgi-pathinfo</dt>
<dd>By default <module>mod_proxy_scgi</module> will neither create
- nor export the <var>PATH_INFO</var> environment variable. This allows
+ nor export the <var><glossary ref="pathinfo">PATH_INFO</glossary></var> environment variable. This allows
the backend SCGI server to correctly determine <var>SCRIPT_NAME</var>
and <var>Script-URI</var> and be compliant with RFC 3875 section 3.3.
If instead you need <module>mod_proxy_scgi</module> to generate
CONTEXT_PREFIX<br />
CONTEXT_DOCUMENT_ROOT<br />
IPV6<br />
- PATH_INFO<br />
+ <glossary ref="pathinfo">PATH_INFO</glossary><br />
QUERY_STRING<br />
REMOTE_ADDR<br />
REMOTE_HOST<br />
</section>
<section id="flag_dpi"><title>DPI|discardpath</title>
-<p>The DPI flag causes the PATH_INFO portion of the rewritten URL-path to be
+<p>The DPI flag causes the <glossary ref="pathinfo">PATH_INFO</glossary> portion of the rewritten URL-path to be
discarded.</p>
<p>In <glossary ref="perdirectory">per-directory context</glossary>,
</li>
<li>This solution shows the reverse of the previous ones, copying
- path components (perhaps PATH_INFO) from the URL into the query string.
+ path components (perhaps <glossary ref="pathinfo">PATH_INFO</glossary>) from the URL into the query string.
<highlight language="config">
# The desired URL might be /products/kitchen-sink, and the script expects
# /path?products=kitchen-sink.
</li>
<li><module>mod_proxy_scgi</module>: The default setting for
- <code>PATH_INFO</code> has changed from httpd 2.2, and
+ <glossary ref="pathinfo">PATH_INFO</glossary> has changed from httpd 2.2, and
some web applications will no longer operate properly with
the new <code>PATH_INFO</code> setting. The previous setting
can be restored by configuring the <code>proxy-scgi-pathinfo</code>