Discuz x2.5后台提供了应用域名的设置,但这需要将这些域名都指向你的空间,并且你还要在空间上将这些域名都绑上,这就造成了所有这些域名都可以访问你站内的同一页面。
比如http://bbs.discuz.net/thread-133304-1-1.html用http://www.discuz.net/thread-133304-1-1.html一样可以访问,这就是通常所说的多域名入口问题,这个是程序的问题,无法通过程序本身的设置解决,只能想其他办法。
由于Discuz各应用的URL很有规律,所以想到可以用Rewrite来解决多入口问题,下面以论坛为例来说明,门户和群组类似。
论坛的主要页面的URI都是以 /forum 及/thread 开始的,因此可以加一个Rewrite规则,判断如果请求的URI是以/forum 或/thread 开头,那么就应该是论坛的内容,如果域名却不是bbs.idctalk.com ,那么就执行301转向到这个域名上。
规则如下:- RewriteCond %{HTTP_HOST} !(^bbs\.discuz\.net$) [NC]
- RewriteCond %{REQUEST_URI} (^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$)|(^/forum-(\w+)-([0-9]+)\.html$)
- RewriteRule ^(.*)$ http://bbs.discuz.net/$1 [L,R=301]
复制代码
如果是iis的话,以上内容直接添加进httpd.ini中即可。
这样做了之后,再访问http://www.discuz.net/thread-133304-1-1.html,就会自动转向http://bbs.discuz.net/thread-133304-1-1.html,这对seo是有好处的。 |
上一篇: mp4歌曲网 交换链接www.mp4gq.com下一篇: IIS下的万能301跳转方法,URL伪静态重写加PHP301重定向
|