httpd.ini 规则

首首先我们要修改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
 









ttpd.ini来实现301重定向
 . 

下面详细讲讲在window+iis 环境下如何利用httpd.ini来实现301重定向。当然也会提到302重定向。
 不同的ISAPI_Rewrite版本会有所不同,我们一个一个来看:
 ISAPI_Rewrite 1.x下‍:ISAPI是1.3不能实现301永久性重定向的,只能实现302临时性重定向,就像我的主机一样,有点可惜。此时可以利用404页面实现301重定向。
 <blockquote>[ISAPI_Rewrite]
 CacheClockRate 3600
 RepeatLimit 32
 # For ISAPI_Rewrite 1.x
 RewriteCond Host: ^jsjk114\.com$
 RewriteRule(.*) http\://www\.jsjk114\.com$1 [R,I]
 # 注意此处只是实现了302重定向
 
# For ISAPI_Rewrite 2.x
 RewriteCond Host: ^jsjk114\.com$
 RewriteRule(.*) http\://www\.jsjk114\.com$1 [I,RP]
 # For ISAPI_Rewrite 3.x
 RewriteCond%{HTTP:Host} ^jsjk114\.com$
 RewriteRule (.*) http\://www\.jsjk114\.com$1[NC,R=301]
 </blockquote>说明:[I,RP]:I表示忽略大小写,RP表示使用301转向,以上都是整个域名重定向。
 详细的可以‍查阅ISAPI Rewrite2官方使用手册
 . 



你可能感兴趣的:(伪静态,IIS)