当前位置: 首页 > 服务器 > 服务器知识 > 正文

WINNT+IIS环境下实现Discuz伪静态

时间:2009-08-13 www.bianceng.cn 老马

初次在IIS下安装Discuz都未成功。找到Discuz帮助看了一下,在**ix系统下需要把几个目录的权限设置为777。而现在是WIN系统,试了一下把相关目录及config.inc.php设置为user用户组具有写权限,得以安装成功。

后来的Discuz伪静态设置倒是很顺利。依照找到的资料,下载了一个ISAPI Rewrite for IIS的版本,解压出了ISAPI_Rewrite.dll和httpd.ini两个文件。将ISAPI_Rewrite.dll放到一个目录中(假设我是放到了F:\rewrite中)。然后在IIS中右击站点→“属性”→“ISAPI筛选器”→“添加”,在弹出的对话框中指定ISAPI_Rewrite.dll的位置并输入筛选器名称,如下图:


 

设完之后重启一下IIS,检查一下站点属性页的“ISAPI筛选器”选项卡,如果是下图这个样子,说明ISAPI_Rewrite.dll加载成功:


 

下面的工作是设置httpd.ini,这个文件需要放置到Discuz安装目录的根目录中。打开httpd.ini,把Discuz官方给出的rewrite规则添加进去:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP RewriteRule /SearchCompany_(\d+)\.html /SearchCompany\.aspx\?npage=$1 [N,I]
# 这里是解析帖子列表 安装根目录
RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.html)$ $1/archiver/index\.php\?$2
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay\.php\?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3

之后进论坛后台,开启相关的伪静态设置即可。