RewriteRule
The rewrite engine enables regular-expression-based rewriting of URLs. The feature is enabled with the RewriteEngine On directive. Most rewrites are a single RewriteRule, or a combination of RewriteCond directives followed by a RewriteRule.
RewriteRule pattern substitution [[FLAG1, FLAG2, ...]]Rewrites URL to
substitutionif the URL is successfully matched bypattern. Thesubstitutionstring can contain back-references ($N) to theRewriteRulepattern, back-references (%N) to the last matchedRewriteCondpattern, server-variables as in rule condition test-strings (%{VARNAME}), and mapping-function calls (${mapname:key|default}). Optional flags, listed in Table 53, cause the server to take various actions when a match occurs.RewriteCond teststring patternDefine a test condition (Table 54) for applying a
RewriteRule. MultipleRewriteConddirectives preceding aRewriteRuleare combined with an implicitAND, unless specified asOR. Theteststringcan contain back-references ($N) to theRewriteRulepattern, back-references (%N) to the last matchedRewriteCondpattern, server-variables as in rule condition test-strings (%{VARNAME}), and mapping-function calls (${mapname:key|default}).Server variables affecting rewrites are listed in Table 55.
Table 1-53. Apache RewriteRule flags
Modes | Meaning |
|---|---|
| Chain with next rule. If rule matches, apply the rewrite, and the following chained rewrites; otherwise, stop the chain. |
| Set a cookie. |
| Set an ... |