码迷,mamicode.com
首页 > 其他好文 > 详细

伪静态设置IIS版

时间:2014-11-02 17:45:52      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   os   使用   for   sp   文件   div   

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

 

 

 

httpd.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版

标签:http   io   ar   os   使用   for   sp   文件   div   

原文地址:http://www.cnblogs.com/MengJG/p/4069462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!