discuz教程:解决discuz!程序域名多入口问题 [复制链接]

moqu8 2017-10-25

5 0
这几天在完善IDCTalk论坛的设置,设置完应用的域名之后发现通过各个应用的域名都可以访问到相同的内容,同一个内容有多个入口,因此存在URL规范化问题。搜索了官方论坛,看到不少人存在这个问题,但是官方并没有给出很好的解决方法,说明这个是程序的Bug,无法通过程序的设置来解决,只能想其他办法。
由于Discuz各应用的URL很有规律,所以想到可以用Rewrite来解决多入口问题,下面以论坛为例来说明,门户和群组类似。
论坛的主要页面的URI都是以 /forum 及/thread 开始的,因此可以加一个Rewrite规则,判断如果请求的URI是以/forum 或/thread 开头,那么就应该是论坛的内容,如果域名却不是bbs.moqu8.com ,那么就执行301转向到这个域名上。
规则如下:
RewriteCond %{HTTP_HOST} !(^bbs\.moqu8\.com$)  [NC]   
RewriteCond %{REQUEST_URI} (^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$)|(^/forum-(\w+)-([0-9]+)\.html$)    
RewriteRule ^(.*)$ http://bbs.moqu8.com/$1 [L,R=301]

使用的时候要把域名换成你的网站对应的域名{:soso_e113:}
演示:再去访问 http://home.moqu8.com/thread-922-1-1.html就会自动转向到 http://bbs.moqu8.com/thread-922-1-1.html
这样就解决了论坛版面及帖子的多入口问题,其他页面的也可以利用类似的规则一一解决。

最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心