From: Rich Bowen
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.
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