DZ论坛为静态-05互联
>

帮助中心 / DZ论坛为静态

DZ论坛为静态

时间:2019/5/30 16:25:57

系统:IIS6.0+PHP+MYSQL

前言:写这个主要是为了帮助一些使用IIS虚拟主机且不能伪静态的新手站长们。在DX官方上也看了很多关于伪静态的帖子,感觉说得都挺模糊的,那我就详细地分析下在IIS下如何正确开启并使用伪静态功能。请新手站长仔细阅读,本帖不回答一切因没有认真看贴而提出的弱智问题,谢谢!

准备:
1、本案例是以IIS6.0为范例,如果你是Linux主机请绕过;
2、若你是虚拟主机用户,请先确认你的虚拟支持Rewrite组建和ISAPI功能;
3、本范例是以Discuz X1为基础,使用其他版本的站长可参考。

步骤:
1、下载Rewrite规则


(不想付金币的可以自己搜索下载,很容易得到的。没有建站经验和金币的新手站长请留下你的EMAIL,你懂的!);
2、根据个人不同的空间商管理后台,使用ISAPI功能添加Rewrite组建,添加组建的方法及过程可以参考官方:http://faq.comsenz.com/viewnews-11
(注意,如果虚拟主机的后台管理面板没有ISAPI设置功能,可以联系空间商的技术人员,让他们协助设置)
3、编辑Rewrite规则
如果你是Discuz X1,在后台→全局→优化设置的URL静态化设置旁边,会有一个名为“查看当前的Rewrite规则”链接,找到里面的“IIS Web Server(独立主机用户)”规则即可。
当然有人会有质疑,这是独立主机用户的,虚拟主机能用吗?好吧,那我就在帖一个规则上来,懒人们可以直接复制,将以下代码编写在 httpd.ini 文件中

  1. [ISAPI_Rewrite]


  2. # 3600 = 1 hour

  3. CacheClockRate 3600

  4. RepeatLimit 32

  5. # Protect httpd.ini and httpd.parse.errors files

  6. # from accessing through HTTP

  7. RewriteRule ^(.*)/topic-(.+)\.html\?*(.*)$ $1/portal\.php\?mod=topic&topic=$2&$3

  8. RewriteRule ^(.*)/article-([0-9]+)\.html\?*(.*)$ $1/portal\.php\?mod=article&articleid=$2&$3

  9. RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$4

  10. RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$5

  11. RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=group&fid=$2&page=$3&$4

  12. RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/home\.php\?mod=space&$2=$3&$4

  13. RewriteRule ^(.*)/([a-z]+)-(.+)\.html\?*(.*)$ $1/$2\.php\?rewrite=$3&$4

4、这是重启IIS如果你以上设置都正确,论坛就可以使用伪静态功能了
5、同样进入DX后台→全局→优化设置的URL静态,参照如下图设置开启伪静态功能,

6、这是最关键的一步,打开从官方下载的DX1安装包,上传安装包里..\utility\oldprg\discuz目录下的两个PHP文件(forumdisplay.php、viewthread.php)到你DX的根目录下。否则你不能使用论坛主题列表页和论坛主题内容页的静态化。

至此,你的DX就能使用伪静态化了!