From: Rich Bowen
-- -``The great thing about mod_rewrite is it gives you - all the configurability and flexibility of Sendmail. - The downside to mod_rewrite is that it gives you all - the configurability and flexibility of Sendmail.''
--- Brian Behlendorf
- -
- Apache Group
-- -``Despite the tons of examples and docs, - mod_rewrite is voodoo. Damned cool voodoo, but still - voodoo.''
- --- Brian Moore
- -
- bem@news.cmc.net
Welcome to mod_rewrite, the Swiss Army Knife of URL - manipulation!
- -This module uses a rule-based rewriting engine (based on a +
mod_rewrite uses a rule-based rewriting engine (based on a regular-expression parser) to rewrite requested URLs on the fly. It supports an unlimited number of rules and an unlimited number of attached rule conditions for each rule to provide a really flexible and powerful URL manipulation - mechanism. The URL manipulations can depend on various tests, - for instance server variables, environment variables, HTTP - headers, time stamps and even external database lookups in - various formats can be used to achieve granular URL + mechanism. The URL manipulations can depend on various tests: + server variables, environment variables, HTTP + headers, time stamps external database lookups, and various other + external processes or handlers, can be used to achieve granular URL matching.
-This module operates on the full URLs (including the
- path-info part) both in per-server context
- (httpd.conf) and per-directory context
- (.htaccess files and <Directory>
- blocks) and can even generate query-string
- parts on result. The rewritten result can lead to internal
- sub-processing, external request redirection or even to an
- internal proxy throughput.
Rewrite rules can operate on the full URLs, including the path-info
+ and query string portions, and may be used in per-server context
+ (httpd.conf), per-virtualhost context (<VirtualHost> blocks), or
+ per-directory context (.htaccess files and <Directory> blocks). The
+ rewritten result can lead to further rules, internal
+ sub-processing, external request redirection, or proxy
+ passthrough.
But all this functionality and flexibility has its - drawback: complexity. So don't expect to understand this - entire module in just one day.
+Since mod_rewrite is so powerful, it can indeed be rather + complex. This document supplements the reference documentation, and + attempts to allay some of that complexity, and provide highly + annoted examples of common scenarios that you may handle with + mod_rewrite. But we also attempt to show you when you should not + use mod_rewrite, and use other standard Apache features instead, + thus avoiding this unnecessary complexity.
--- -``The great thing about mod_rewrite is it gives you - all the configurability and flexibility of Sendmail. - The downside to mod_rewrite is that it gives you all - the configurability and flexibility of Sendmail.''
--- Brian Behlendorf
- -
- Apache Group
-- -``Despite the tons of examples and docs, - mod_rewrite is voodoo. Damned cool voodoo, but still - voodoo.''
- --- Brian Moore
- -
- bem@news.cmc.net
Welcome to mod_rewrite, the Swiss Army Knife of URL - manipulation!
- -This module uses a rule-based rewriting engine (based on a +
mod_rewrite uses a rule-based rewriting engine (based on a regular-expression parser) to rewrite requested URLs on the fly. It supports an unlimited number of rules and an unlimited number of attached rule conditions for each rule to provide a really flexible and powerful URL manipulation - mechanism. The URL manipulations can depend on various tests, - for instance server variables, environment variables, HTTP - headers, time stamps and even external database lookups in - various formats can be used to achieve granular URL + mechanism. The URL manipulations can depend on various tests: + server variables, environment variables, HTTP + headers, time stamps external database lookups, and various other + external processes or handlers, can be used to achieve granular URL matching.
-This module operates on the full URLs (including the
- path-info part) both in per-server context
- (httpd.conf) and per-directory context
- (.htaccess files and <Directory>
- blocks) and can even generate query-string
- parts on result. The rewritten result can lead to internal
- sub-processing, external request redirection or even to an
- internal proxy throughput.
But all this functionality and flexibility has its - drawback: complexity. So don't expect to understand this - entire module in just one day.
+Rewrite rules can operate on the full URLs, including the path-info
+ and query string portions, and may be used in per-server context
+ (httpd.conf), per-virtualhost context (.htaccess files and
Since mod_rewrite is so powerful, it can indeed be rather + complex. This document supplements the reference documentation, and + attempts to allay some of that complexity, and provide highly + annoted examples of common scenarios that you may handle with + mod_rewrite. But we also attempt to show you when you should not + use mod_rewrite, and use other standard Apache features instead, + thus avoiding this unnecessary complexity.