1、首先是要下载到ISAPI_Rewrite3的安装包,full版本有绿色版的。安装或放好后,打开IIS管理器,选中网站,再打开ISAPI筛选器,添加筛选器名称(随便填)和路径里的ISAPI_Rewrite.dll文件。
2、编辑ISAPI_Rewrite3文件夹里的httpd.conf文件,例如:
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#默认包含了301设置,此设置情况下rjcg.net/aa.htm 会301跳至www.rjcg.net/aa.htm,将cctv.com替换为您自己的域名就能实现自己的域名的301
RewriteCond %{HTTP:Host} ^rjcg.net/$
#RewriteRule (.*) http://www.rjcg.net$1 [NC,R=301]
RewriteRule ^/home\.html$ /index\.aspx
RewriteRule ^/tech-specs/(.*)-(.*)\.html$ /page/tech_specs\.aspx\?bot_type=$1&bot_name=$2 [QSA,NU,PT,L]
RewriteRule ^/bot/(.*)-(.*)\.html$ /page/bot\.aspx\?bot_type=$1&bot_name=$2 [QSA,NU,PT,L]
RewriteRule ^/features/(.*)-(.*)\.html$ /page/features\.aspx\?bot_type=$1&bot_name=$2 [QSA,NU,PT,L]
RewriteRule ^/accessories/(.*)-(.*)\.html$ /page/accessories\.aspx\?bot_type=$1&bot_name=$2 [QSA,NU,PT,L]
=====================分割线下是说明======================
前两行一定要保留,否则只能用45天!
对于不同网站要更改RewriteCond %{HTTP:Host}为其域名。
有时候,第一条规则会失效!建议第一条规则前再加个无用的规则,比如RewriteRule ^/xxxxxxxxxx\.html$ /xxxxxxxxxx\.aspx
3、传递参数为中文时会出现乱码的解决方法:
比如一般的规则是:
RewriteRule ^/bot/(.*)-(.*)\.html$ /page/bot\.aspx\?bot_type=$1&bot_name=$2
但如果参数带中文,则要在后面加上空格[QSA,NU,PT,L]不解释
RewriteRule ^/bot/(.*)-(.*)\.html$ /page/bot\.aspx\?bot_type=$1&bot_name=$2 [QSA,NU,PT,L]
4、如果没有效果,可能是因为以下问题,解决就可:
a.在IIS的应用程序池里把此网站的应用程序的高级设置里,把“启用32位应用程序”改为True
b.给ISAPI_Rewrite3文件夹及里面文件的安全设置里,应许IUSR用户读取
c.把httpd.conf另存为utf-8编码的,覆盖源文件