Apache mod_rewrite

mod_rewrite提供了一种基于regular expression规则动态修改传入 URL 请求的方法。这使您可以以任意方式将任意 URL Map 到内部 URL 结构上。

它为每个规则支持无限数量的规则和无限数量的附加规则条件,以提供 true 灵活而强大的 URL 操作机制。 URL 操作可能取决于各种测试:服务器变量,环境变量,HTTP Headers,时间戳,外部数据库查找以及各种其他外部程序或处理程序可用于实现精细的 URL 匹配。

重写规则可以对完整的 URL 进行操作,包括路径信息和查询字符串部分,并且可以在每个服务器上下文(httpd.conf),每个虚拟主机上下文(<VirtualHost>块)或每个目录上下文(.htaccess文件和<Directory>个块)。重写的结果可能导致进一步的规则,内部子处理,外部请求重定向或代理传递,具体取决于您对规则附加的flags

由于 mod_rewrite 非常强大,因此确实很复杂。本文档是对reference documentation的补充,并试图缓解这种复杂性,并提供了带注解的示例,这些示例可以通过 mod_rewrite 处理。但是,我们还会尝试向您显示何时不应该使用 mod_rewrite,而应使用其他标准 Apache 功能,从而避免这种不必要的复杂性。

首页