DiscuzX2.5 伪静态 Rewrite设置

论坛从DZ7.2升级到discuzx 2.5,中间经历了DZX1.5,但是发现ReWrite失效了。网上找了很多规则都不对,其实你大可不必,DZ升级到2.5已经越来越智能了,你只要在后台——全局——SEO设置——URL静态化,现则你需要用的伪静态化规则,然后点击右边的“查看当前的 Rewrite 规则”即可。DZ会将会列明主流服务器环境的配置方法。你只要找到对应的即可。

Apache Web Server(独立主机用户)
Apache Web Server(虚拟主机用户)
IIS Web Server(独立主机用户)
IIS7 Web Server(独立主机用户)
Zeus Web Server
Nginx Web Server

以下是NGinx的:

1
2
3
4
5
6
7
8
9
10
11
12
13
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%3D$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; 
}

最后关键的是,以上规则不需要写入 .htaccess,(实际上菜牛写入了也么有生效,汗~~),

你需要写入的是VHOST的配置文件,比如/usr/local/nginx/conf/vhost/www.shzone.net.conf,

其实查看这个文件,你发现里面有 include discuzx.conf;(这就是添加虚拟主机时选择的导入的Rewrite规则),其实你也可以把以上代码写入discuzx.conf,这样更简单明了。

最后重启NGinx就可以了。祝你成功!!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha Code