无言沙漠 |
2006-10-20 11:17 |
Apache有个mod_rewrite 能根据文本文件里的设置来重写URL。奇怪的是这么多年,IIS却没有这样的东西,可见我们的依赖性之强,。虽然IIS6 Resource Kit里有个UrlRemap工具,但不支持正则表达式。在ASP.NET里,我们可以使用HttpModule来实现URL重写。但假如你不用ASP.NET呢?(当然,你用了IIS,却不使用ASP.NET,有点说不过去吧。
Ionic推出了一个开源的ISAPI Rewriting Filter,是用C写成的。因为是个ISAPI Filter,可以重写任何URL。你可以在一个ini文件里设置重写规则。如果该文件有所改动,它会重新装载该规则文件。它支持正则表达式,还可以通过 RewriteCond 根据server variable有条件地做重写,功能非常强大,详见下载zip文件里的Readme-1.2.txt。
经常看见有人问怎么隐藏文件名,用这个过滤器,你可以设置
RewriteRule ^(.*)/$ $1/my.aspx
这样,以"/"结尾的URL就会由对应目录里的my.aspx来处理。
下载地址: Ionic's ISAPI Rewrite Filter http://cheeso.members.winisp.net/IIRF.aspx |
|