当前位置: 首页 > 教程 > Apache >

Apache URL重写

精华
小牛编辑
96浏览
2023-03-14

Apache mod_rewrite 提供了基于正则表达式规则动态修改传入的请求的 URL 的方法。这用于以自己喜欢的任意方法映射任意 URL 到你的内部 URL 结构。

它支持无限的规则,以及为每个规则附加条件,从而提供了一个真正灵活且强大的 URL 操作机制。URL 操作可以依赖于各种测试,例如服务器变量,环境变量,HTTP 头,时戳,甚至外部数据库查询等,以便完成 URL 单元匹配。

这个模块在服务器上下文 (httpd.conf),虚拟主机上下文 (<VirtualHost> 指令块),目录上下文 (.htaccess 文件和 <Directory> 指令块) 对完整的 URL (包含目录信息部分和查询字符串部分) 操作。重写结果可以导致新的规则处理,内部的后续处理,外部请求重定向,甚至透过内部代理, 这取决于你为规则附加的标志。

既然 mod_rewrite 这么强大,它当然是相当复杂。这篇文档作为参考手册的补充,试图减轻一些复杂性, 提供你可能使用 mod_rewrite 的常见场景的有充分注释的例子。但是,也要告诉你,在什么时候不应当使用 mod_rewrite, 可以使用其它标准的 Apache 特性来达到目的,以避免无谓的复杂性。

  • mod_rewrite参考手册
  • 正则表达式与 mod_rewrite 入门
  • 使用 mod_rewrite 重定向和重新映射 URL
  • 使用 mod_rewrite 控制访问
  • 动态虚拟主机与 mod_rewrite
  • 动态代理与 mod_rewrite
  • 使用 RewriteMap
  • 高级技术与诀窍
  • 何时不要使用 mod_rewrite