在IIS7出来之前,我们大部分用的重写组件,都是一个叫做UrlRewriter.dll的ISAPI组件,用配置好的规则来实现Discuz!NT的伪静态。
这次国庆期间,某大型游戏站点在线人数飙升,UrlRewriter.dll开始不断报错,所以试了试IIS7官方的重写组件,效果不错,给大家推荐一下。
声明一下
1、这个需要IIS7才能支持的。(本人环境为Windows 7 64bit,同时在Windows Server 2008
64bit配置成功。)
2、如果之前使用了UrlRewriter.dll,请先删除之。
下面是教程:
1、先到IIS官方下载模块
下载地址:http://www.iis.net/download/URLRewrite
根据需要,点击右侧的下载链接(我的系统是64位的,就下载x64的)
2、安装重写模块
我下载的是本地msi包(rewrite_2.0_rtw_x64.msi),双击安装即可(如果IIS服务没停的话,安装完成后会要求重启系统。)
3、这个时候再进 “Internet 信息服务(IIS)管理器”,就可以看见模块中多了一个 Url Rewrite 模块
4、进入需要设置的站点,双击 Url Rewrite 图标,进入设置界面。
然后点击右侧的“Import Rules...”(导入重写规则)
5、将下面的zip文件解压,得到UrlRewriterRules_for_IIS7Module.htaccess这个文件,
(注:如果论坛为子目录创建,导入前先将以下几项
RewriteRule ^/(([\w|\-|_])+)((\/?))?$
/$1/list.aspx
RewriteRule
^/(([\w|\-|_])+)((\/?))?\?(.)*$ /$1/list.aspx?$2
RewriteRule
^/(([\w|\-|_])+)/([0-9]+)((\/?))?$ /$1/$3/list.aspx
RewriteRule
^/(([\w|\-|_])+)/([0-9]+)((\/?))?\?(.)*$
/$1/$3/list.aspx?$4
改为:
RewriteRule
^/bbs/(([\w|\-|_])+)((\/?))?$ /bbs/$1/list.aspx
RewriteRule
^/bbs/(([\w|\-|_])+)((\/?))?\?(.)*$ /bbs/$1/list.aspx?$2
RewriteRule
^/bbs/(([\w|\-|_])+)/([0-9]+)((\/?))?$
/bbs/$1/$3/list.aspx
RewriteRule
^/bbs/(([\w|\-|_])+)/([0-9]+)((\/?))?\?(.)*$
/bbs/$1/$3/list.aspx?$4
bbs为论坛目录名,修改完成后保存 , 根目录安装的论坛无需修改)
点击“Import”(导入)
附件:适用与IIS7的重写规则
UrlRewriterRules_for_IIS7Module.zip
6、确认无误后,点击右栏的“应用”按钮,大功告成