/ CacheClockRate

ISAPI_Rewrite指令格式

ISAPI_Rewrite伪静态配置文件是httpd.ini,一般的windows+iis的虚拟主机都支持,将httpd.ini放置在网站根目录即可生效。

以下是注意事项和指令格式

1.在httpd.ini文件的开头必须是[ISAPI_Rewrite],否则不能正常使用。

2.httpd.ini用#作为注释标记。

3.CacheClockRate指令:该指令只有在全局httpd.ini中才会生效,否则会被忽略。语法:CacheClockRate Interval,Interval单位是秒。

4.RepeatLimit指令:指定反复实行规则的最大次数。语法:RepeatLimit 最大次数。

5.UriMatchPrefix指令:指定测试指令的前缀。语法:UriMatchPrefix 前缀。

6.UriFormatPrefix指令:指定格式化字符串的前缀。语法:UriFormatPrefix 前缀。

7.RewriteCond指令:定义一个条件规则,在 RewriteRule 或者 RewriteHeader或 RewriteProxy指令前,只有RewriteCond指令条件满足时后面的规则才会被应用。语法:RewriteCond 测试指令 条件 [标志]

测试指令的取值可以是URL | METHOD | VERSION | HTTPHeaderName: | %ServerVariable,

其中:

URL是符合RFC2068规定的URI

METHOD是客户端的请求方式(OPTIONS, GET, HEAD, POST, PUT, DELETE 或者 TRACE)

VERSION是客户端HTTP版本

HTTPHeaderName:是HTTP请求头,可以是以下值

Accept:

Accept-Charset:

Accept-Encoding:

Accept-Language:

Authorization:

Cookie:

From:

Host:

If-Modified-Since:

If-Match:

If-None-Match:

If-Range:

If-Unmodified-Since:

Max-Forwards:

Proxy-Authorization:

Range:

Referer:

User-Agent:

Any-Custom-Header:

注意:名称后面的冒号不可以省略。

%ServerVariable是环境变量,取值可以在IIS文档中找到,注意百分号不可以省略,而且名称是大小写敏感。

条件用于正则匹配测试指令

*[标志]*的可选值是

O (nOrmalize)

在匹配之前格式化字符串,包括去除URL编码、非法字符等。注意:格式化会去除URL中的参数,所以不可以在有参数的URL中使用O标志。

8.RewriteRule指令:用于重写。语法:RewriteRule 正则表达式 格式化字符串 [标志]

正则表达式用于匹配用户输入的URL。

格式化字符串用于生成新的URL,一般情况下是真实的URL。

多个*[标志]用半角的逗号隔开,[标志]*的可选值是

I (ignore case)

不管大小写强行指定字符匹配,这个标志影响RewriteRule指令和相应的RewriteCond指令

F (Forbidden)

对客户端做反应,停止重写并且发送403错误,注意在这种情况下格式字符串是无用的并可以设置为任何非空字符串。

L (last rule)

完成此次重写之后不再应用任何重写规则,使用这个标志可以阻止当前被重写的URI被后面的规则再次重写。

N (Next iteration)

强制重新引擎调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果重启次数超过限制,N标志将被忽略。

NS (Next iteration of the same rule)

与N标志相似,但是重启规则检查时从当前规则开始,通过RepeatLimit指令指定一个反复实行某一规则的最大数目,

P (force proxy)

强制目的URI在内部强制为代理需求并通过ISAPI扩展处理代理,必须确认代理字符串是一个有效的URI(包括协议 主机等等)否则代理将返回错误

R (explicit redirect)

强制服务器对客户端发出重定向指示,跳转至目的URI,此规则是最后的规则。

RP (permanent redirect)

几乎和[R]标志相同,但是使用的是301HTTP而不是302HTTP

U (Unmangle Log)

记录日志时使用的是源文件而不是重写的URI

O (nOrmalize)

在匹配之前格式化字符串,包括去除URL编码、非法字符等。注意:格式化会去除URL中的参数,所以不可以在有参数的URL中使用O标志。

CL (Case Lower)

小写

CU (Case Upper)

大写

9.RewriteHeader指令:用于重写HTTP请求头,语法:RewriteHeader  请求头名称  正则字符串 格式化字符串  [标志]

各个参数与RewriteRule相同。

ISAPI_Rewrite指令格式
Share this