IIRF(Ionics Isapi Rewrite Filt er)实现在IIS 5/6上重写Url

IIS 7的URL Rewrite功能非常强大,可以通过Microsoft URL Rewrite Module来实现,可参看文章使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现*.HTML伪静态 无需修改应用程序映射

IIS 5/6的URL Rewrite也可以通过IIRF(Ionic's Isapi Rewrite Filter)来实现。IIRF(Ionic's Isapi Rewrite Filter)是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio2005或Visual C++ 2005 Express重新编译)开发。它可以运行在IIS5.0+,支持ASP,ASP.NET,PHP等许多格式。相对比ASP.NET2.0自带的URL重写,具有更好的性能和许多我们所需要特性,重要的一点在于:它可以支持无扩展名的URL,让URL更加的方便我们记忆,IIRF能够在aspnet_isapi提前捕获我们所请求的URL进行处理,通过IIRF,我们可以直接跳aspnet_isapi.dll,要知道,这种方式在ASP.NET是无法实现的。IIRF跟ASP.NET重写URL一样,它也是基于正则的方式来匹配,具有LOG记录,请求的条件判断。

安装 IIRF安装需要我们手动操作来完成。到http://www.codeplex.com/IIRF 下载程序:

  • 将IsapiRewrite4.dll, IsapiRewrite4.ini复制到c:\windows\system32\inetsrv(你也可以复制到其它适当的文件夹下面)。 IsapiRewrite4.ini是IIRF配置文件,每次该文件更改之后,IIRF会自动重新加载该文件,无需重启IIS来重新加载配置,如果您修改后INI文件后格式不正确,IIRF将会自动获取最后正确加载的配置文件。
  • 打开IIS管理器,选择“默认网站”,右击“属性”,选择“ISAPI筛选器”,点击“添加”,输入筛选器名称:Ionic Rewriter,可执行文件选择上面复制到c:\windows\system32\inetsrv下面的IsapiRewrite4.dll文件,点“确定”。
  • 重启IISADMIN service服务。(在计算机管理----windows服务里面)
  • 完成。

日志 IIRF能够将INI配置文件加载,用户的URL请求记录都会保存到指定的日志文件里。因为它具有很大的性能开销,因此建议将它日志的记录等级设为0,只有 为了方便调试的时候时候,可以设置为5, RewriteLog <filename stub>  保存的日志路径,如 c:\temp\iirfLog.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正则的前面已经带了主机头的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

php环境无法上传文件的解决方法

一、 检查网站目录的权限。 上传目录是否有写入权限。 二、 php.ini配置文件 php.ini中影响上传的有以下几处: ...

27660
来自专栏北京马哥教育

Linux进程及作业管理

一、进程查看及其管理工具 ps命令:报告当前进程的快照信息 ps - report a snapshot of the current processes....

36450
来自专栏电光石火

使用jenkins实现tomcat自动化部署

42230
来自专栏Coding迪斯尼

java开发操作系统:启动任意多控制台窗口

13410
来自专栏ASP.NETCore

讨论.NET Core 配置对GC 工作模式与内存的影响

https://mp.weixin.qq.com/s/PqhUzvFpzopU7rVRgdy7eg

71730
来自专栏腾讯IVWEB团队的专栏

利用 yeoman 构建项目 generator

yoeman 提出一个 yeoman 工作流的概念,通过脚手架工具,构建工具和包管理器的配合使用让开发者专注于业务的解决上而不是其他小事情。

20100
来自专栏云计算教程系列

使用CVM搭建FileRun私人网盘

FileRun是由PHP编写的文件管理器和文件共享程序,可帮助您访问,整理,查看和编辑文件。您可以将其与Office文档,照片,音乐等文件一起使用。在本教程中,...

471110
来自专栏猛牛哥的博客

Hetzner独服通过proxmox开小鸡的步骤

45850
来自专栏菩提树下的杨过

ELK日志系统:Filebeat使用及Kibana如何设置登录认证

Filebeat is a lightweight, open source shipper for log file data. As the next-ge...

14310
来自专栏性能与架构

快速认识ELK中的L - Logstash

简介 Logstash 是一个开源的数据采集引擎。 Logstash 就像是一个管子,左面接数据源接收数据,右面接存储目的地,管子中间有过滤器,对接收到的数据进...

39280

扫码关注云+社区

领取腾讯云代金券