ISAPI--- IIRF(Ionics Isapi Rewrite Filter)的应用

  为了能使用友好且简介的URL,我们常使用URl Rewrite进行URL的跳转。本文介绍的这款ISAPI 筛选器--IIRF,具有以下优点。

  1. 开源且免费。

  2. 支持正则表达式。

  3. 支持多个系统和IIS版本,Windows Server 2003 (including R2) with IIS6, Windows Vista SP1 or later with IIS7, and Windows Server 2008 with  IIS7. 我已经在Windows7和IIS7环境下使用过,也没有问题

      4. 目前的版本已经支持64位系统。但经过测试必须使用在32位模式下运行的IIS。

      加载IIRF有以下几步必须注意,否则不能加载成功(注意:以下前两步必须确保完成,否则IIS不能加载IIRF.DLL)。

  1. 拷贝 IIRF DLL (IIRF.dll)和IIRF.ini到合适的目录(自己决定),给该目录增加Everyone用户的读,执行权限。

  2. 给该目录增加IIS组权限,在目录属性-安全-高级中。Windows Server 2003 增加 IIS_WPG 组权限,  Windows XP增加 IUSR_<hostname>,         Windows7增加IIS_IUSR组权限。

  3. 在IIS需要Rewrite的某个站点的属性中,在ISAPI Filtes这个选项卡中,指定以上两步所设置的IIRF.DLL所在路径,名称可以随便起。 

  4. 在IIRF.INI文件中写正则表达式,用以匹配你的URL.如把http://IPAddress/1234-4567 重定向到http://IPAddress/search.aspx?issn=1234-4567.

  以下时在运行IIRF时需要注意的地方:

  1. 把IIRF.INI拷贝到站点的根目录下。

  2. 64位的系统保证IIS在32位模式下运行,IIS7直接在界面设置即可,而IIS6需要执行以下命令:

  1>.打开命令提示行,并定位到:%systemdrive%\Inetpub\AdminScripts directory。
  2>.键入以下命令:cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”(此引号为半角双引号)。
  3>.回车。

  3.此时保证IIS6的“网站-属性-ISAPI Filtes”的.net framework是32位的。

  4.以上一切就绪,重启IIS。即使在ISAPI Filtes看到你添加的IIRF.dll,是未知状态,没有出现绿色的箭头也没关系,直接访问网页,如访问成功,绿色箭头就会出现了。

  5. 如果出现红色箭头,表示加载未成功。你需要检查你的IIRF.dll的权限设置是否按上文中所述设置,还要注意你的机器是32位还是64位。确认好这两点,基本就没有问题。

IIRF出处:http://iirf.codeplex.com/

    

posted @ 2011-01-09 23:02  老贾  阅读(1176)  评论(0编辑  收藏  举报