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
substitution
if the URL is successfully matched bypattern
. Thesubstitution
string can contain back-references ($N
) to theRewriteRule
pattern, back-references (%N
) to the last matchedRewriteCond
pattern, 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 pattern
Define a test condition (Table 54) for applying a
RewriteRule
. MultipleRewriteCond
directives preceding aRewriteRule
are combined with an implicitAND
, unless specified asOR
. Theteststring
can contain back-references ($N
) to theRewriteRule
pattern, back-references (%N
) to the last matchedRewriteCond
pattern, 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 ... |
Get Regular Expression Pocket Reference, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.