]> granicus.if.org Git - apache/commitdiff
Merge r1201690 from trunk:
authorEric Covener <covener@apache.org>
Mon, 14 Nov 2011 13:16:11 +0000 (13:16 +0000)
committerEric Covener <covener@apache.org>
Mon, 14 Nov 2011 13:16:11 +0000 (13:16 +0000)
followups on PR52175

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1201691 13f79535-47bb-0310-9956-ffa450edef68

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

index cbb70d4970741db24d571d8a2e39f1cb8cc66f84..d113e1253b11718100f9ebb3a67fc9686a42a0ae 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.