兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册

只需一步,快速开始

查看: 41|回复: 0
收起左侧

discuz教程:解决discuz!程序域名多入口问题

[复制链接]
  • TA的每日心情
    萌哒
    7 天前
  • 1271

    主题

    1290

    帖子

    2550

    积分

    兔校长

    Rank: 9Rank: 9Rank: 9

    萝卜
    0 棵


    兔毛
    273 朵


    兔币
    17447 枚


    经验
    2550 点


    最佳新人管理/版主土豪装逼

    tuyuanma 发表于 2017-12-3 09:48:53 | 显示全部楼层 |阅读模式
    这几天在完善IDCTalk论坛的设置,设置完应用的域名之后发现通过各个应用的域名都可以访问到相同的内容,同一个内容有多个入口,因此存在URL规范化问题。搜索了官方论坛,看到不少人存在这个问题,但是官方并没有给出很好的解决方法,说明这个是程序的Bug,无法通过程序的设置来解决,只能想其他办法。
    由于Discuz各应用的URL很有规律,所以想到可以用Rewrite来解决多入口问题,下面以论坛为例来说明,门户和群组类似。
    论坛的主要页面的URI都是以 /forum 及/thread 开始的,因此可以加一个Rewrite规则,判断如果请求的URI是以/forum 或/thread 开头,那么就应该是论坛的内容,如果域名不是bbs.tuyuanma.com ,那么就执行301转向到这个域名上。


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

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


    高级模式
    B Color Image Link Quote Code Smilies |上传

    本版积分规则

    兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

    QQ交流群:493651246  GMT+8, 2017-12-15 12:28
    ←站长统计工具 查看密码:tuyuanma

    兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

    © 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

         
    快速回复 返回顶部 返回列表