Apache HTTP 服务器版本 2.2

Apache > HTTP 服务器 > 文档 > 版本 2.2

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# Apache mod_rewrite

可用语言: en | fr | tr | zh-cn

此翻译可能过期。要了解最近的更改，请阅读英文版。

`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
- RewriteRule 标志
- 技术细节

### 参见

- mod_rewrite 参考手册
- 从 URL 映射到文件系统
- mod_rewrite wiki
- 术语

可用语言: en | fr | tr | zh-cn