前些日子帮朋友配置一台IIS服务器,因为要用到Zend Framework,只好安装URL重写的插件,开始用ISAPI_rewrite,免费版不支持单站独立设置rewrite,收费版太贵买不起,于是找 到了Ionics Isapi Rewrite Filter (IIRF),下载地址 http://cheeso.members.winisp.net/IIRF.aspx
安装也不是很麻烦,步骤
1. 下载,解压 (我当时用的是1.2.16版本,现在已经更新到2.0++了)
2. 新建一个目录来放置配置文件,如 D:/IIIRF
3. 为当前网站建立一个配置文件目录,如 D:/IIRF/site1
4. 把刚刚解压出来的IsapiRewrite4.dll和IsapiRewrite4.pdb复制到site1目录中,然后建立一个空白的IsapiRewrite4.ini文件,写入重写规则
5.为网站加入IIRF, 打开IIS管理器,点击展开网站,找到你的站点,点击右键,选择属性,然后选择ISAPI筛选器,点击添加,填写, 筛选器名称: IIRF, 可执行文件:D:/IIRF/site1/IsapiRewrite4.dll (具体要看你建立的目录) 如图:
6.点击确定,IIRF增加完成,请注意,在IIS管理器 WEB服务扩展中必须把"所有未知ISAPI扩展"设置为允许,IIRF才能生效.如图
7.附ZF的IIRF规则
- #日志文件的路径
- RewriteLog D:\IIRF\site1\site1.log
- #日志文件的等级,0:不记录日志,1:少量日志,2:较多日志,3:详细日志,4:更详细的日志(并会跟踪server variable和替换的字符串),5:最详细的日志(包括日志文件更改的事件,建议方便调试的时候使用)
- RewriteLogLevel 0
- #排除目录
- RewriteRule ^(/bbs|/inc).* $0 [U,L]
- #排除js,css等文件
- RewriteRule (.*\.(js|ico|gif|jpg|png|flv|swf|css))$ /$1 [L,U]
- #ZF的全部请求转发到index.php
- RewriteRule (.*) /index.php [L,U]


