Addresses -
explains the difference between rewriting to a full filesystem path vs a
webroot local path.
@@ -236,7 +236,7 @@ value.
<p>The <var>Substitution</var> can itself be one of three things:</p>
<dl>
-<dt>A full filesystem path to a resource</dt>
+<dt>1. A full filesystem path to a resource</dt>
<dd>
<highlight language="config">
RewriteRule "^/games" "/usr/local/games/web"
@@ -245,18 +245,19 @@ RewriteRule "^/games" "/usr/local/games/web"
like the <directive module="mod_alias">Alias</directive> directive.</p>
</dd>
-<dt>A web-path to a resource</dt>
+<dt>2. A web-path to a resource</dt>
<dd>
<highlight language="config">
-RewriteRule "^/foo$" "/bar"
+RewriteRule "^/foo/?$" "/bar"
</highlight>
<p>If <directive module="core">DocumentRoot</directive> is set
to <code>/usr/local/apache2/htdocs</code>, then this directive would
map requests for <code>http://example.com/foo</code> to the
path <code>/usr/local/apache2/htdocs/bar</code>.</p>
+
</dd>
-<dt>An absolute URL</dt>
+<dt>3. An absolute URL</dt>
<dd>
<highlight language="config">
RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]
@@ -265,6 +266,8 @@ RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]
</dd>
</dl>
+<note type="warning">Note that <strong>1</strong> and <strong>2</strong> have exactly the same syntax. The difference between them is that in the case of <strong>1</strong>, the top level of the target path (i.e., <code>/usr/</code>) exists on the filesystem, where as in the case of <strong>2</strong>, it does not. (i.e., there's no <code>/bar/</code> as a root-level directory in the filesystem.)</note>
+
<p>The <var>Substitution</var> can also
contain <em>back-references</em> to parts of the incoming URL-path
matched by the <var>Pattern</var>. Consider the following:</p>
