今天一个找我配置过 lnmp 环境的用户要搭建 Discuz 论坛,但是发现不支持伪静态,站长没怎么折腾过 Discuz,百度下才知道,原来军哥的 LNMP 环境包自带的 DZ 规则不适用于 Discuz x2.5,记录下对应的伪静态规则。
打开 LNMP 伪静态文件目录:
1 | cd /usr/local/nginx/conf |
---|
新建并编辑 discuzx25.conf 文件:
1 | vi discuzx25.conf |
---|
按 i 进入编辑模式,添加下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 | rewrite ^([^.]*)/topic-(. ).html$ $1/portal.php?mod=topic&topic=$2 last; rewrite ^([^.]*)/article-([0-9] )-([0-9] ).html$ $1/portal.php?mod=view&aid=$2&page=$3 last; rewrite ^([^.]*)/forum-(w )-([0-9] ).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last; rewrite ^([^.]*)/thread-([0-9] )-([0-9] )-([0-9] ).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page=$4&page=$3 last; rewrite ^([^.]*)/group-([0-9] )-([0-9] ).html$ $1/forum.php?mod=group&fid=$2&page=$3 last; rewrite ^([^.]*)/space-(username|uid)-(. ).html$ $1/home.php?mod=space&$2=$3 last; rewrite ^([^.]*)/blog-([0-9] )-([0-9] ).html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last; rewrite ^([^.]*)/(fid|tid)-([0-9] ).html$ $1/index.php?action=$2&value=$3 last; rewrite ^([^.]*)/([a-z] [a-z0-9_]*)-([a-z0-9_-] ).html$ $1/plugin.php?id=$2:$3 last; if (!-e $request_filename) { return 404; } |
---|
按 Esc 退出编辑模式,输入 :wq 保存退出。
然后进入网站配置文件目录:
1 | cd /usr/local/nginx/conf/vhost |
---|
编辑对应的网站配置文件,比如 aaa.com.conf
1 | vi aaa.com.conf |
---|
找到配置中的
1 | include discuz.conf; |
---|
修改为
1 | include discuzx25.conf; |
---|
保存后,重启 Nginx或LNMP:
1 | lnmp restart |
---|
注:以上是 lnmp 1.2 下的操作。
方法出自:http://www.gongzi.org/lnmp-discuzx25-rewrite.html