发新话题
打印

Apache模块mod_rewrite实现多域名绑定

Apache模块mod_rewrite实现多域名绑定

说明 一个基于一定规则的实时重写URL请求的引擎
状态 扩展(E)
模块名 rewrite_module
源文件 mod_rewrite.c
兼容性 仅在 Apache 1.3 及以后的版本中可用
概述此模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。
此模块可以操作URL的所有部分(包括路径信息部分),在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效,还可以生成最终请求字符串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向,甚至还可以是内部代理处理。

特殊字符的引用

在Apache 1.3.20中,TestStringSubstitution中的特殊字符可以用前导斜杠(\)来实现转义(即忽略其特殊含义而视之为普通字符)。 比如,Substitution可以用"\$"来包含一个美元符号,以避免mod_rewrite把它视为反向引用。


环境变量

此模块会跟踪两个额外的(非标准)CGI/SSI环境变量,SCRIPT_URLSCRIPT_URI。他们包含了当前资源的逻辑网络视图,而标准CGI/SSI变量SCRIPT_NAMESCRIPT_FILENAME包含的是物理系统视图。

注意:这些变量保持的是其最初被请求时的URI/URL,即在任何重写操作之前的URI/URL。其重要性在于他们是重写操作重写URL到物理路径名的原始依据。

示例

SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
SCRIPT_FILENAME=/u/rse/.www/index.html
SCRIPT_URL=/u/rse/
SCRIPT_URI=http://en1.engelschall.com/u/rse/

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题