]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r558837 (Address PR42898 by qualifying the value of Pattern for RewriteRule...
authorVincent Bray <noodl@apache.org>
Tue, 24 Jul 2007 12:15:22 +0000 (12:15 +0000)
committerVincent Bray <noodl@apache.org>
Tue, 24 Jul 2007 12:15:22 +0000 (12:15 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@559019 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_rewrite.html.en
docs/manual/mod/mod_rewrite.xml

index 47f9c7e9fdd19ffa1ec22a79fa36f8a6f9efb63e..35f0f7fe19c41792ce02684201977718b096b127 100644 (file)
@@ -1043,11 +1043,10 @@ later</td></tr>
 
       <p><a id="patterns" name="patterns"><em>Pattern</em></a> is
       a perl compatible <a id="regexp" name="regexp">regular
-      expression</a>, which is applied to the current URL.
-      ``Current'' means the value of the URL when this rule is
-      applied. This may not be the originally requested URL,
-      which may already have matched a previous rule, and have been
-      altered.</p>
+      expression</a>. On the first RewriteRule it is applied to the
+      <a href="./directive-dict.html#Syntax">URL-path</a> of the request;
+      subsequent patterns are applied to the output of the last matched
+      RewriteRule.</p>
 
       <p>Some hints on the syntax of <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular 
       expressions</a>:</p>
@@ -1455,13 +1454,16 @@ should never be necessary and is unsupported.</p>
           <strong>R</strong>-flag.</p>
 </div>
 
-<div class="note"><h3>Note: Query String</h3>
-      <p>The <em>Pattern</em> will not be matched against the query string.
-      To do this, you must use a <code class="directive"><a href="#rewritecond">RewriteCond</a></code> with the
-      <code>%{QUERY_STRING}</code> variable. You can, however, create
-      URLs in the substitution string, containing a query string
-      part. Simply use a question mark inside the substitution string, to
-      indicate that the following text should be re-injected into the
+<div class="note"><h3>What is matched?</h3>
+      <p>The <em>Pattern</em> will initially be matched against the part of the
+      URL after the hostname and port, and before the query string. If you wish
+      to match against the hostname, port, or query string, use a
+      <code class="directive"><a href="#rewritecond">RewriteCond</a></code> with the
+      <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, or
+      <code>%{QUERY_STRING}</code> variables respectively.</p>
+      <p>You can, however, create URLs in the substitution string containing a
+      query string part. Simply use a question mark inside the substitution
+      string, to indicate that the following text should be re-injected into the
       query string. When you want to erase an existing query string,
       end the substitution string with just a question mark. To
       combine new and old query strings, use the
index f8970775a92b02fffb3d4e7c3b16db6b828ad094..b687d3b78dc8d8611f05fd841e7050a1fe85b24b 100644 (file)
@@ -1056,11 +1056,10 @@ RewriteRule  ^/$                 /homepage.std.html  [L]
 
       <p><a id="patterns" name="patterns"><em>Pattern</em></a> is
       a perl compatible <a id="regexp" name="regexp">regular
-      expression</a>, which is applied to the current URL.
-      ``Current'' means the value of the URL when this rule is
-      applied. This may not be the originally requested URL,
-      which may already have matched a previous rule, and have been
-      altered.</p>
+      expression</a>. On the first RewriteRule it is applied to the
+      <a href="./directive-dict.html#Syntax">URL-path</a> of the request;
+      subsequent patterns are applied to the output of the last matched
+      RewriteRule.</p>
 
       <p>Some hints on the syntax of <glossary ref="regex">regular 
       expressions</glossary>:</p>
@@ -1478,14 +1477,16 @@ should never be necessary and is unsupported.</p>
           <strong>R</strong>-flag.</p>
 </note>
 
-<note><title>Note: Query String</title>
-      <p>The <em>Pattern</em> will not be matched against the query string.
-      To do this, you must use a <directive
-      module="mod_rewrite">RewriteCond</directive> with the
-      <code>%{QUERY_STRING}</code> variable. You can, however, create
-      URLs in the substitution string, containing a query string
-      part. Simply use a question mark inside the substitution string, to
-      indicate that the following text should be re-injected into the
+<note><title>What is matched?</title>
+      <p>The <em>Pattern</em> will initially be matched against the part of the
+      URL after the hostname and port, and before the query string. If you wish
+      to match against the hostname, port, or query string, use a
+      <directive module="mod_rewrite">RewriteCond</directive> with the
+      <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, or
+      <code>%{QUERY_STRING}</code> variables respectively.</p>
+      <p>You can, however, create URLs in the substitution string containing a
+      query string part. Simply use a question mark inside the substitution
+      string, to indicate that the following text should be re-injected into the
       query string. When you want to erase an existing query string,
       end the substitution string with just a question mark. To
       combine new and old query strings, use the