用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写
作者:
用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,我们应该努力应用它,发觉他的潜力。
言归正传,那么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,我们应该努力应用它,发觉他的潜力。