From: Rich Bowen Date: Wed, 9 Nov 2011 00:38:10 +0000 (+0000) Subject: rebuild xdoc X-Git-Tag: 2.3.16~230 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a7015ece502371feb11d1eb7b746d2a43ceee95;p=thirdparty%2Fapache%2Fhttpd.git rebuild xdoc git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1199569 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/rewrite/tech.html.en b/docs/manual/rewrite/tech.html.en index 1c4253735d5..007d6565b9e 100644 --- a/docs/manual/rewrite/tech.html.en +++ b/docs/manual/rewrite/tech.html.en @@ -71,7 +71,9 @@ and URL matching.

RewriteBase directive to see how you can further manipulate how this is handled.) Then, a new internal subrequest is issued with the new URL. This restarts - processing of the API phases.

+ processing of the request phases. (Be careful to avoid rules that + can cause looping. See RewriteLooping + for further discussion of this problem.

Because of this further manipulation of the URL in per-directory context, you'll need to take care to craft your rewrite rules @@ -136,16 +138,17 @@ and URL matching.

Flow of RewriteRule and RewriteCond matching
Figure 1:The control flow through the rewriting ruleset

-

As you can see, first the URL is matched against the - Pattern of each rule. When it fails mod_rewrite - immediately stops processing this rule and continues with the +

First the URL is matched against the + Pattern of each rule. If it fails, mod_rewrite + immediately stops processing this rule, and continues with the next rule. If the Pattern matches, mod_rewrite looks - for corresponding rule conditions. If none are present, it - just substitutes the URL with a new value which is - constructed from the string Substitution and goes on + for corresponding rule conditions (RewriteCond directives, + appearing immediately above the RewriteRule in the configuration). + If none are present, it substitutes the URL with a new value, which is + constructed from the string Substitution, and goes on with its rule-looping. But if conditions exist, it starts an inner loop for processing them in the order that they are - listed. For conditions the logic is different: we don't match + listed. For conditions, the logic is different: we don't match a pattern against the current URL. Instead we first create a string TestString by expanding variables, back-references, map lookups, etc. and then we try