使用ISAPI_Rewrite对asp.net实现URL重写伪静态[转]

时间:2020-12-22 20:12:53
ISAPI_Rewrite利用IIS的ISAPI实现URL重写的,ISAPI_Rewrite是一个工具,下载地址为: http://www.isapirewrite.com/download/isapi_rwl_x86_0067.msi,下完,直接NEXT装一下就可以,位置可以随便装,但要记住,然后打开IIS,在网站上-右击-属性-ISAPI筛选器,起了名字,就叫"URLRewrite"吧,随便起的,然后浏览找到你刚才安装根目录的ISAPI_Rewrite.dll这个文件然后确定。
进入刚才安装ISAPI_Rewrite的文件夹里面,找到httpd.ini这个文件,然后在属性上去掉“只读”,然后这里有点难了,需要使用正则表达式来实现了,方法很多,我举个例子希望对大家有所帮助,比如我想要把 www.xx.com/web/new.aspx?id=1 改成 www.xx.com/web/new/1.html这样的URL,需要增加一条正则表达式  RewriteRule ^(.*)/web/new/([0-9]+)\.html$ $1/web/new\.aspx\?id=$2
OK,这样就基本可以了,还有一点,一开始我以为 new.aspx?id=1 [color=#000000]会自动变成 web/new/1.html,
[/color] 其实是不行的,在编写网站时就需要把传递值的方式改变了

PS:在编写网站时就需要把传递值的方式改变了,至今没找到好的传递值的方法,汗

PS:还有在WIN2003里面使用方法,在IIS 6.0里面一直提示“未加载”,后来查了又查,原来是文件的权限问题。IIS 6.0 ISAPI_Rewrite 是在Service帐号下运行的,将数据文件的读写权限给予Service 帐号后,ISAPI_Rewrite 终于可以正常运行了。