使用Ionics Isapi Rewrite Filter来实现URLRewrite

这次在配置PhpCms新闻系统时,偶没有用ISAPI_Rewrite3来实现,毕竟这个软件是收费的,再怎么破解,更新上还是没有免费的方便!(汗,似乎我也干个破解这个勾当,干的还相当愉快,到自己用时去变了)。
只所以用Ionics Isapi Rewrite Filter来实现,是因为偶以前接触过,当时虽然没有用上,毕竟还是有一些了解的。这次是租的VPS,刚好可以自己实验一下效果了,哈,发现效果还是非常不错的!

这个软件的主页是:[url=http://iirf.codeplex.com/]http://iirf.codeplex.com/[/url]
上面的文档很详细,英文稍微OK的,照着做都不难实现你想要的目的!

我使用的是最新的版本:Iirf2.1,在安装的过程中有提示适合的站点。我就一个站点,所以就直接选中了站点。如果是对多个站点适合的话,大家还是参照一下,然后按官网的说明去配置吧,这里我就没有去实验了!

我安装时忘了截图,这里就直接从官网转载了一个安装的截图:

应该是差不多的,可能除了我上面说到的选择站点的那点不同外!
安装完成后,基本工作也就结束了,剩下的都是一些权限设置的问题和Rewrite规则的编写。文件的权限主要涉及3个文件:
安装目录下的IIRF.dll和IirfGlobal.ini,再有就是站点目录下自己手动建立的IIRF.ini了。三者的权限设立都是一样的,都是针对IIS_WPG用户,如果没有的则需要自己添加。具体的权限设置如下图:

然后点击“高级”,查看权限及有限权限,只要包含有如下图框起来的权限就OK,三个文件都是同样设置:

设置好权限后就是编写自己站点的RewriteURL规则了,我的站点目前只使用简单的2条就差不多了,整个IIRF.ini文件内容如下:


# IIRF ini file
# version 1.1
# Sat, 11 Jul 2009  12:44
#
# ============================================

#开启设置状态
StatusUrl iirfStatus
StatusInquiry ON

#设置日志
RewriteLog D:\wwwroot\Logs\iirfLog.out
RewriteLogLevel 5

#开启RewriteEngine
RewriteFilterPriority HIGH
NotifyLog ON
RewriteEngine ON

# News List
RewriteRule ^(.*)/list-([0-9]+)-([0-9]+).html $1/index.php?m=content&c=index&a=lists&catid=$2&page=$3

# Show News Content
# 目标网址:http://www.q51q.com/index.php?m=content&c=index&a=show&catid=6&id=49
# 匹配的网址:http://www.q51q.com/show-6-49-1.html
RewriteRule ^(.*)/show-([0-9]+)-([0-9]+)-([0-9]+).html $1/index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4

随意浏览了一下Ionics Isapi 官方文档,感觉功能还是很强大,可惜我这个站点目前感觉还没有必要设置的那么复杂。能用就好啊!其他的以后有需要再研究吧!呵呵,收工。

发表评论