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

Fredrica ·
更新时间:2024-09-21
· 978 次阅读

前些日子用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,我们应该努力应用它,发觉他的潜力。
您可能感兴趣的文章:Nginx服务器下使用rewrite重写url以实现伪静态的示例AspNetPager分页控件UrlRewritePattern参数设置的重写代码iis7配置zend framework的地址重写规则[url_rewrite]asp.net用url重写URLReWriter实现任意二级域名 新asp.net用url重写URLReWriter实现任意二级域名url重写IIRF(Ionic''s Isapi Rewrite Filter)手册asp.net下用url重写URLReWriter实现任意二级域名的方法IIS下配置页面重写(配合插件url-rewrite2去除页面后缀名)的实现方法



htaccess url重写 rewrite IIS Apache url

需要 登录 后方可回复, 如果你还没有账号请 注册新账号