]> granicus.if.org Git - apache/commitdiff
followups on PR52175
authorEric Covener <covener@apache.org>
Mon, 14 Nov 2011 13:15:09 +0000 (13:15 +0000)
committerEric Covener <covener@apache.org>
Mon, 14 Nov 2011 13:15:09 +0000 (13:15 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1201690 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/rewrite/tech.html.en
docs/manual/rewrite/tech.xml

index 0c829470a6b86e33734813206236e1efa9a15b12..c4139bd20c61abf3723c1c00941d536ffd701a67 100644 (file)
@@ -66,12 +66,18 @@ and URL matching.</p>
     <p>In per-directory context (i.e., within <code>.htaccess</code> files
     and <code>Directory</code> blocks), these rules are being applied
     after a URL has already been translated to a filename. Because of
-    this, mod_rewrite temporarily translates the filename back into a URL,
-    by stripping off the directory path (including a trailing slash) 
-    before applying the rules. ) If a substitution is made, a new internal 
+    this, the URL-path that mod_rewrite initially compares <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives against
+    is the full filesystem path to the translated filename with the current
+    directories path (including a trailing slash) removed from the front.</p>
+
+    <p> To illustrate: If rules are in /var/www/foo/.htaccess and a request
+    for /foo/bar/baz is being processed, an expression like ^bar/baz$ would
+    match.</p>
+
+    <p> If a substitution is made in per-directory context, a new internal 
     subrequest is issued with the new URL, which restarts processing of the 
-    request phases. If the substution is a relative path, the <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> directive 
-    determines the URL-path prefix appended to the substitution.
+    request phases. If the substitution is a relative path, the <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> directive 
+    determines the URL-path prefix prepended to the substitution.
     In per-directory context, care must be taken to 
     create rules which will eventually (in some future "round" of per-directory
     rewrite processing) not perform a substitution to avoid looping.
index e1d519aee83cada87ecad1feb6344973d5b47733..2b0d315662c5c8a3744262be846a8b093ff9f47b 100644 (file)
@@ -76,13 +76,20 @@ and URL matching.</p>
     <p>In per-directory context (i.e., within <code>.htaccess</code> files
     and <code>Directory</code> blocks), these rules are being applied
     after a URL has already been translated to a filename. Because of
-    this, mod_rewrite temporarily translates the filename back into a URL,
-    by stripping off the directory path (including a trailing slash) 
-    before applying the rules. ) If a substitution is made, a new internal 
+    this, the URL-path that mod_rewrite initially compares <directive 
+    module="mod_rewrite">RewriteRule</directive> directives against
+    is the full filesystem path to the translated filename with the current
+    directories path (including a trailing slash) removed from the front.</p>
+
+    <p> To illustrate: If rules are in /var/www/foo/.htaccess and a request
+    for /foo/bar/baz is being processed, an expression like ^bar/baz$ would
+    match.</p>
+
+    <p> If a substitution is made in per-directory context, a new internal 
     subrequest is issued with the new URL, which restarts processing of the 
-    request phases. If the substution is a relative path, the <directive 
+    request phases. If the substitution is a relative path, the <directive 
     module="mod_rewrite">RewriteBase</directive> directive 
-    determines the URL-path prefix appended to the substitution.
+    determines the URL-path prefix prepended to the substitution.
     In per-directory context, care must be taken to 
     create rules which will eventually (in some future "round" of per-directory
     rewrite processing) not perform a substitution to avoid looping.