<tr><td><code>REQUEST_SCHEME</code></td>
<td>The scheme part of the request's URI</td></tr>
<tr><td><code>REQUEST_URI</code></td>
- <td>The path part of the request's URI</td></tr>
+ <td>The path part of the request's URI, excluding the query
+ string. Note that this differs from the CGI environment
+ variable of the same name, which includes the query string.
+ </td></tr>
<tr><td><code>DOCUMENT_URI</code></td>
<td>Same as <code>REQUEST_URI</code></td></tr>
<tr><td><code>REQUEST_FILENAME</code></td>
which may be different than the original request from the client
due to internal redirects or subrequests.</dd>
</dl>
+
+ <note><title>Note</title>
+ <p>The CGI environment variable <code>REQUEST_URI</code> contains the
+ full original URI from the request line, including the query string.
+ This differs from the server variable <code>%{REQUEST_URI}</code>
+ used in <module>mod_rewrite</module> and <a href="../expr.html">
+ ap_expr</a>, which contains only the path component.</p></note>
</usage>
</directivesynopsis>
<code>REQUEST_URI</code>
has already been %-decoded, to re-encode it pass it through
the "escape" <a href="#mapfunc">mapping-function</a>.
+ Note that this server variable differs from the CGI
+ environment variable of the same name: in a CGI context,
+ <code>REQUEST_URI</code> contains the full original URI
+ from the request line, including the query string. See
+ the <directive module="core">CGIVar</directive>
+ directive for details.
</dd>
<dt><code>THE_REQUEST</code></dt>