解决IIS7.5 IIS8下的discuzX3.2伪静态问题
有部分客户,在香港空间上面安装了discuz3.2版本后,并且他们在discuz官方论坛里找了一些网友提供的web.config伪静态代码并且修改了该文件,但是还出现500错误。
我们同事根据提供的代码做了一些修正,现在将代码提供给大家方便大家使用。
亲测这段代码可以在我们的香港虚拟主机的服务器系统为 windows2008 IIS7.5,windows2012 IIS8,里面都能完美的执行。
代码如下
<rewrite> <rules> <rule name="portal_topic"> <match url="^(.*/)*topic-(.+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&topic={R:2}&{R:3}" /> </rule> <rule name="portal_article"> <match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/portal.php\?mod=view&aid={R:2}&page={R:3}&{R:4}" /> </rule> <rule name="forum_forumdisplay"> <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" /> </rule> <rule name="forum_viewthread"> <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}" /> </rule> <rule name="group_group"> <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:4}" /> </rule> <rule name="home_space"> <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/home.php\?mod=space&{R:2}={R:3}&{R:4}" /> </rule> <rule name="home_blog"> <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/home.php\?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}" /> </rule> <rule name="forum_archiver"> <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&value={R:3}&{R:4}" /> </rule> <rule name="plugin"> <match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$" /> <action type="Rewrite" url="{R:1}/plugin.php\?id={R:2}:{R:3}&{R:4}" /> </rule> </rules> </rewrite>
请将上面的代码放在<system.webServer>之间
另外,为了方便大家使用,我们也将web.config文件打包提供下载,直接上传到web根目录下即可使用。
discuzX3.2 web.config文档下载(用于论坛作为单独域名使用,例如www.abc.com或bbs.abc.com)
discuzX3.2 web.config文档下载(用于论坛作为次级目录使用,例如www.abc.com/bbs/或123.abc.com/bbs)
另外温馨提示:
我们做过观察,discuz3.2建议在Php5.2版本下运作会比较流畅,执行效率较高。
注意:
某些用户一个空间下混用2套以上都做伪静态程序,而且不建子站分开绑域名
这样需要自行将两套伪静态脚本合并写入web.config,出现脚本问题较多,需要一定的正则表达式语法基础
这种特殊需求,我们不提供这方面的帮助,请自行百度研究