虚拟123博客

网站推广方法_网站推广方案_asp.net(C#)技巧

« 收集了365个人才网网址,方便站长们交换链接,免费人才网链接一个大型网站的网站架构方案,偏重技术方向 »

利用iirf (Ionics Isapi Rewrite Filter) 进行url重写,实现泛域名

利用iirf (Ionics Isapi Rewrite Filter) 进行url重写,实现泛域名


iirf (Ionics Isapi Rewrite Filter)是开源的组件,功能强大,可以进行url重写,实现很复杂的泛域名功能都可以。

IIRF(Ionic's Isapi Rewrite Filter)是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005 Express重新编译)开发。它可以运行在IIS5.0至IIS7.0,支持ASP,ASP.NET(ASPX),PHP等许多格式。相对比ASP.NET2.0自带的URL重写,具有更好的性能和许多我们所需要特性,重要的一点在于:它可以支持无扩展名的URL(例如:www.444168.com/****,你无需在创建一个默认的default.aspx文件,IIRF自动会帮你解析),让URL更加的方便我们记忆,也能进一步提高搜索的排名?IIRF能够在aspnet_isapi提前捕获我们所请求的URL进行处理,如果我们访问www.444168.com/a.aspx,需要获取www.444168.com/a.htm,步骤需要(iis-aspnet_isapi),通过IIRF,我们可以直接跳aspnet_isapi.dll,直接访问a.htm,要知道,这种方式在ASP.NET是无法实现的。

例如要实现下面的url和泛域名重写效果:

input   *.aaa.com     output  www.aaa.com/a.aspx?id=*

input  *.aaa.com/1.html     output  www.aaa.com/b.aspx?id=1.html
input  *.aaa.com/2.html     output  www.aaa.com/b.aspx?id=2.html
input  *.aaa.com/3.html     output  www.aaa.com/b.aspx?id=3.html
input  *.aaa.com/4.html     output  www.aaa.com/b.aspx?id=4.html
input  *.aaa.com/5.html     output  www.aaa.com/b.aspx?id=5.html


那么正则表达式如下:

iirf.ini

RewriteCond %{HTTP_HOST} ^([^\.]+)\.aaa\.com$
RewriteRule ^/$   /a.aspx?id=*1      [L]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.aaa\.com$
RewriteRule ^/(\d+)\.html$  /b.aspx?id=$1.html   [L]


iirf.dll需要下载安装,然后在iis配置,打开IIS管理器,选择“默认网站”,右击“属性”,选择“ISAPI筛选器”,点击“添加”,输入筛选器名称:Ionic Rewriter,可执行文件选择上面复制到c:\windows\system32\inetsrv下面的iirf.dll文件,点“确定”。

如果不明白,可以给我留言。

 

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 91204

Copyright www.xuni123.com Your WebSite. Some Rights Reserved.