投稿 评论 顶部

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官方使用手册 .