Apache HTTP 服务器版本 2.5

mod_rewrite 提供了一种基于正则表达式规则动态修改传入 URL
请求的方法。这允许你以任意方式将任意 URL 映射到你的内部 URL 结构。
它支持无限数量的规则,并且每条规则可以附加无限数量的规则条件, 从而提供了一个真正灵活且强大的 URL 操作机制。URL 操作可以依赖于各种测试: 服务器变量、环境变量、HTTP 头、时间戳、外部数据库查询, 以及各种其他外部程序或处理程序,都可以用于实现精细的 URL 匹配。
重写规则可以操作完整的 URL,包括路径信息和查询字符串部分,
并且可以在服务器级上下文(httpd.conf)、
虚拟主机级上下文(<VirtualHost> 块)或目录级上下文
(.htaccess 文件和 <Directory> 块)中使用。
重写后的结果可以导向进一步的规则处理、内部子处理、外部请求重定向或代理透传,
这取决于你为规则附加的标志。
由于 mod_rewrite 功能非常强大,它确实可能相当复杂。
本文档是参考文档的补充,
试图减轻一些复杂性,并提供你可能使用
mod_rewrite 处理的常见场景的详细注释示例。
但我们也会尝试告诉你何时不应该使用
mod_rewrite,而应使用其他标准的 Apache 特性来代替,
从而避免不必要的复杂性。