用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写

前些日子用Linux做服务器写了一些东西,发现Apache下的.htaccess真是个好东西!不仅能实现URL真重写,还能实现假重写。真重写可以有效降低代码量与服务器资源消耗量,伪重写可以有效减少服务器的静态文件体积,节约了空间,真是不错!其实htaccess的功能远不只如此。

言归正传,那么IIS下能不能也实现htaccess这样激动人心的功能呢?ASP.NET2.0这个东东不是服务器级的,不能胜任重写这个重任,那么只有交给ISAPI了,在网上搜索,还居然真有公司(组织)开发了这种东东!不可思议!

官方地址是:http://www.isapirewrite.com/

下载到其中有一个文件Rewrite.dll就是我们的ISAPI了,在IIS里面添加这个dll然后重起就OK!!!Fantastic!!!

httpd.ini就相当于.htaccess了!

现在的版本是2.9版,技术文档看这里:中文手册  英文手册(英文写得比较好,建议看英文的)

具体怎么用就不多说了,手册

下面是我写的一个超简单例子:

1.httpd.ini

[ISAPI_Rewrite]
RewriteRule ^(.*)/([a-z0-9\-]+\.html)$ $1/default2.asp\?filename=$2 


2.default2.asp

<%=Request.QueryString%> 


3,然后你进入浏览器输入"http://localhost/abcd123456.html"你会看到显示了这个网页,后台却并没有生成这个页!

filename=abcd123456.html 


这个技术就是WordPress所应用的URL伪重写技术,IIS中如果本身支持该技术,估计Z-Blog会集成该技术。

应用了该技术Z-BLOG哪里还需要重建?需要的时候只需要改动一下httpd.ini就可以了

总之,ISAPI_Rewrite和htaccess都是很值得学习与掌握的技术,尤其是htaccess,我们应该努力应用它,发觉他的潜力。

你可能感兴趣的:(用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写)