httpd.ini格式和例子

新建一个文本文档。名字取httpd.ini 后缀名为:ini

View Code
首先我们要修改httpd.ini后请重启IIS

把以下内容保存为httpd.ini即可:

[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32

#上面三行不要改动,以下为规则设置
RewriteRule /([0-9,a-z]*)/(\d+).html /$1/3wow.mobi?InfoID=$2 [I]
#文件内容结束

附加说明一下设置规则时的格式:

I (ignore case)不管大小写强行指定字符匹配
例:RewriteRule /code/project/([0-9,a-z]*).html /3wow.mobi\?softpy=$1 [I]

其他的参数一览
I (ignore case)
不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令

F (Forbidden)
对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。

L (last rule)
不应用任何重写规则在此停止重写进程,使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写

N (Next iteration)
强制REWRITINGENGINE调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果这个数值超过N FLAG将被忽略

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是源需求而不是重写需求时记载URI

O (nOrmalize)
在实行之前标准化字符串。标准化包括URL-ENCODING,不合法的字符的再移动等,这个标记对于URLS和URLS-ENDODED头是有用的

CL (Case Lower)
小写

CU (Case Upper)
大写

另外,设置时就是用正则表达示模糊匹配。简单一下常用的:
([a-z]*) 匹配小写英文字母
(\d+) 和 ([0-9]*) 匹配数字
(.*) 模糊匹配,包括字母和数字及其他非换行符号

例:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP RewriteRule /3wow_(\d+)\.html /3wow\.mobi\?npage=$1 [N,I]
# 这里是解析帖子列表 安装根目录

#不带参数直接转的
RewriteRule /index\.html /index\.asp

#带一个数字型参数的
RewriteRule /index-(\d+)\.html /index\.asp\?anid=$1

#带一个字母数字混和型参数的
RewriteRule /index-([0-9,a-z]*)\.html /index\.asp\?an1=$1

#带一个字母型参数的
RewriteRule /index_([a-z]*)\.html /index\.asp\?an=$1

#带一个数字型参数的
RewriteRule /3wow-(\d+)\.html /products\.asp\?id=$1

#带一个字母型参数加两个数字的
RewriteRule /class-([a-z]*)-(\d+)-(\d+)\.html /class\.asp\?lx=$1&anid=$2&nid=$3
View Code
httpd.ini格式写法
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32


RewriteRule ^/index\.html$ /index.aspx [L]
RewriteRule ^/aboutus\.html$ /aboutus.aspx [L]
RewriteRule ^/anli\.html$ /anli.aspx [L]
RewriteRule ^/contactus\.html$ /contactus.aspx [L]
RewriteRule ^/Design\.html$ /Design.aspx [L]
RewriteRule ^/Need\.html$ /Need.aspx [L]
RewriteRule ^/network\.html$ /network.aspx [L]
RewriteRule ^/news\.html$ /news.aspx [L]
RewriteRule ^/news_show\.html$ /news_show.aspx [L]
RewriteRule ^/photoshop\.html$ /photoshop.aspx [L]
RewriteRule ^/service\.html$ /service.aspx [L]

RewriteRule /aboutus([0-9,a-z])\.html /aboutus.aspx\?id=$1 
RewriteRule /anli([0-9,a-z])\.html /anli.aspx\?id=$1 

RewriteRule /Design([0-9,a-z])\.html /Design.aspx\?id=$1 
RewriteRule /Need([0-9,a-z])\.html /Need.aspx\?id=$1 
RewriteRule /network([0-9,a-z])\.html /network.aspx\?id=$1 


RewriteRule /news([0-9])\.html /news.aspx\?id=$1 
RewriteRule /news_show(\d+)\.html /news_show\.aspx\?id=$1 [N,I] 

RewriteRule /photoshop([0-9,a-z])\.html /photoshop.aspx\?id=$1 
RewriteRule /service([0-9,a-z])\.html /service.aspx\?id=$1 

 

 

posted @ 2012-06-20 21:45  ComBat  阅读(582)  评论(0编辑  收藏  举报