解决Discuz x2 域名多入口问题

这几天在完善bbs.idctalk.com 的设置,设置完应用的域名之后发现通过各个应用的域名都可以访问到相同的内容,同一个内容有多个入口,因此存在URL规范化问题。搜索了官方论坛,看到不少人存在这个问题,但是官方并没有给出很好的解决方法,说明这个是程序的Bug,无法通过程序的设置来解决,只能想其他办法。

由于Discuz各应用的URL很有规律,所以想到可以用Rewrite来解决多入口问题,下面以论坛为例来说明,门户和群组类似。

论坛的主要页面的URI都是以 /forum 及/thread 开始的,因此可以加一个Rewrite规则,判断如果请求的URI是以/forum 或/thread 开头,那么就应该是论坛的内容,如果域名却不是bbs.idctalk.com ,那么就执行301转向到这个域名上。

规则如下:

RewriteCond %{HTTP_HOST} !(^bbs\.idctalk\.com$)  [NC]
RewriteCond %{REQUEST_URI} (^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$)|(^/forum-(\w+)-([0-9]+)\.html$)
RewriteRule ^(.*)$ http://bbs.idctalk.com/$1 [L,R=301]

 

这样就解决了论坛版面及帖子的多入口问题,其他页面的也可以利用类似的规则一一解决。

Post Footer automatically generated by wp-posturl plugin for wordpress.

March 16th, 2012  in 网站程序, SEO 2 Comments »

2 Responses to “解决Discuz x2 域名多入口问题”

  • 悠蚂蚁 says:

    还是比较喜欢discuz经典版本的 x以后的版本出了很炫的页面 主流的功能 别的也没有什么

    现在我还喜欢 6.0 版本的

    也喜欢美国主机以前的版本的界面 但是现在换掉了

    • 大漠 says:

      x的比7.2 好用一些的,也增加了不少实用的功能,另外性能方面优化了不少。6.0是比较经典的版本,之后的几个版本搞的乱七八糟,x2之后又好起来了

Leave a Reply