在IIS5和IIS6时代,我们使用URL REWRITING可实现URL重写,使得WEB程序实现伪静态,但默认情况下只能实现.ASPX的伪静态,如果要实现伪静态*.HTML的页面,需要将ISAPI里面的*.HTML应用程序映射改为.NET的ISAPI。但在IIS 7时代,这一切已经变得非常简单了,您在WEB.CONFIG中就可以管理这一切了。
在服务器上安装好Microsoft URL Rewrite Module,具体下载地址如下:
Microsoft URL Rewrite Module for IIS 7.0 (x86)
下载地址:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
Microsoft URL Rewrite Module for IIS 7.0 (x64)
下载地址:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692
安装好之后如图:
可以直接在IIS 7里面进行添加重写规则,也可以直接在WEB.CONFIG中设置:
< configuration >
< system.webServer >
< rewrite >
< rules >
< rule name ="Rewrite to article.aspx" >
< match url ="^article/([0-9]+).html$" />
< action type ="Rewrite" url ="article.aspx?newid={R:1}" />
</ rule >
</ rules >
</ rewrite >
</ system.webServer >
</ configuration >
然后,访问 /article/366.html 就是 访问/article.aspx?newid=366的结果了,无需像以前IIS 6时代一样去添加*.HTML的ISAPI的应用程序映射了。(这对使用虚拟主机的站点来说可是个福音,不用再叫管理员去帮你加设置了,自己在WEB.CONFIG中可以设置这一切了)
下面还附一个重写的规则转换工具。
可以将您原有的第三方组件或apache的.htaccess规则配置,快速按规范转化为IIS7.0的使用web.config重写规则。