最近由于工作需要,开始了网站的网址伪静态改写,搜罗了很多很多资料,但是发现都是很久以前的过期资料,为了帮助其他人,我想了想,还是花点时间来写一下这个简单的教程吧。
一、首先,准备一件事,下载ISAPI_Rewrite3,这个其实就是IIS中ISAPI中的伪静态改写组件。下载后安装
注意事项:
1、区分X64版本和X86版本下载;给出一个比较难找的X64版本的地址,其他的自己到网上搜一下,很多。
X64:迅雷下载 thunder://QUFodHRwOi8vZHhkb3duLmh1d2Vpc2hlbi5uZXQ6Nzc4OC8xL0lTQVBJX1Jld3JpdGUzXzAwODdfTGl0ZV94NjQuemlwWlo=
2、安装在非中文的目录中,例如d:/ISAPI_Rewrite3/
3、设置访问权限。对ISAPI_Rewrite3文件夹,右键---属性--安全里面,添加iis_user,users默认访问权限;
二、允许组件DLL的使用。安装完ISAPI_Rewrite3后,到你的IIS中,IIS7.5中的话,你在网站的ISPA里已经发现它已经存在了,IIS其他版本你们自己设置,手动添加进ISPA中,不懂的话留言,或者搜索去吧。
发现存在后还没完,在IIS中点击你的机器服务,选择右边的“ISAPI和CGI限制选项”
在里面添加ISAPI_Rewrite3安装目中的同名.DLL文件,允许使用,不然服务器是默认不使用的。
三、改写ISAPI_Rewrite3安装目中的httpd.conf文件,这个就是改写规则了。里面都是正则表达式,比较简单,不会的百度,或者自己摸索下吧,安装目录中有测试软件RegexTest.exe
注意事项:
1、httpd.conf文件添加IIS_USER,USERS默认访问读取权限
2、httpd.conf文件必须是ANSI格式的编码方式,即文本打开另存为,编码方式选择ANSI即可
3、发布前请好好测试你的正则表达式,我给出条规则大家参考吧
RewriteRule ^(.*)/Generate/([0-9]*).html$ $1/Item/$2.aspx
RewriteRule是规则的开头 ,一般公式就是RewriteRule 改些前的网址规则 改写后的网址规则
至于$1和$2是什么意思,大家可以复制我的规则到测试软件中自己测试看看,比较简单。
四、再次确定你的网站ISAPI中添加了ISAPI_Rewrite.dll组件,重启,测试一下效果吧。
如果大家有什么问题再留言吧,我会即时来给大家解答的