IIRF(Ionic's Isapi Rewrite Filt er)入门,在IIS上重写U

时间:2010-03-11 11:37:07  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:'s Isapi Rewrite Filter将全部简写)如何在IIS下面实现URL的重写。      介绍       IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005 Express重新编译)开发。它可以运行在IIS5.0+,支持ASP,ASP.NET,PHP等许多格式。相对比ASP.NET2.0自带的URL重写,具有...
  正文:每一次看scottgur的BLOG总能收获意外的惊喜^_^。在他的这篇BLOG(Tip/Trick: Url Rewriting with ASP/ target=_blank class=infotextkey>asp.NET(感谢思归)中,描述了有关在ASP.NET重写URL的各种方法。而我这篇文章不会涉及如何在ASP.NET重写URL,只是简单介绍IIRF(为了方便少写几字,以后的Ionic's Isapi Rewrite Filter将全部简写)如何在IIS下面实现URL的重写。
  
  介绍
  
   IIRF是一款开源的重写URL过滤器,类似于apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005 Express重新编译)开发。它可以运行在IIS5.0+,支持ASP,ASP.NET,PHP等许多格式。相对比ASP.NET2.0自带的URL重写,具有更好的性能和许多我们所需要特性,重要的一点在于:它可以支持无扩展名的URL(例如:cnlbogs.com/****,你无需在创建一个默认的default.aspx文件,IIRF自动会帮你解析),让URL更加的方便我们记忆,也能进一步提高搜索的排名?IIRF能够在aspnet_isapi提前捕获我们所请求的URL进行处理,如果我们访问cnlbogs.com/a.aspx,需要获取cnlbogs.com/a.htm,步骤需要(iis-aspnet_isapi),通过IIRF,我们可以直接跳aspnet_isapi.dll,直接访问a.htm,要知道,这种方式在ASP.NET是无法实现的。
  
   IIRF跟ASP.NET重写URL一样,它也是基于正则的方式来匹配,具有LOG记录,请求的条件判断。还是进入正题吧。
  
  安装
  
   IIRF安装需要我们手动操作来完成。不过。也是很方便了。
  
  1 将IsapiRewrite4.dll, IsapiRewrite4.ini复制到c:windowssystem32inetsrv(你也可以复制到其它适当的文件夹下面)。
  
  IsapiRewrite4.ini是IIRF配置文件,每次该文件更改之后,IIRF会自动重新加载该文件,无需重启IIS来重新加载配置,如果您修改后INI文件后格式不正确,IIRF将会自动获取最后正确加载的配置文件。
  
  2 打开IIS管理器,选择“默认网站”,右击“属性”,选择“ISAPI筛选器”,点击“添加”,输入筛选器名称:Ionic Rewriter,可执行文件选择上面复制到c:windowssystem32inetsrv下面的IsapiRewrite4.dll文件,点“确定”。
  
  3重启IISADMIN service服务。(在计算机管理----windows服务里面)
  
  4 完成。
  
  日志
  
  IIRF能够将INI配置文件加载,用户的URL请求记录都会保存到指定的日志文件里。因为它具有很大的性能开销,因此建议将它日志的记录等级设为0,只有
  为了方便调试的时候时候,可以设置为5,
  
  RewriteLog <filename stub> 保存的日志路径,如 c:tempiirfLog.out
  RewriteLogLevel {0,1,2,3,4,5} 日志的等级,默认值为0
  
  0 –不会记录日志
  1- 少许的日志
  2- 比较多的日志
  3- 比较详细的日志
  4- 详细的日志(4),并会跟踪server variable和替换的字符串。
  5- 详细的日志(5),包括日志文件更改的事件,建议方便调试的时候使用
  
  正则
  
  正则的语法跟.NET一样,只不过是格式不一样而已。所以我也不在详细介绍。具体有关正则的说明大家可以用Google搜索。
  
  格式:
  RewriteRule <url-pattern> <replacement-string> [<modifiers>]
  url-pattern:匹配的正则表达式(必需)
  replacement-string:要替换的字符串(必需)
  modifiers:有关对RewriteRule的操作标记。可选选项。在下面我会说明
  
  
  默认下IIRF的url-pattern,replacement-string正则的前面已经带了主机头的。
  
  为了方便描述,直接看几个示例(以下示例基础全部来源IIRF文档)
  
  
  RewriteRule ^/original/(.*).php /modified/$1.aspx
  
  源:http://xxx/original/index.php
  
  目标:http://xxx/modified/index.aspx
  
  RewriteRule ^/dinoch/album/([^/]+)/([^/]+).(jpg|JPG|PNG) /chiesa/pics.aspx?d=$1&p=$2.$3
  
  源:http://xxx/dinoch/album/30/1.jpg
IIRF(Ionic's Isapi Rewrite Filt er)入门,在IIS上重写U》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13187.html


关键字:

关于《IIRF(Ionic's Isapi Rewrite Filt er)入门,在IIS上重写U》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td