Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

访问门户频道绑定的域名仍跳转到默认域名下的分析

[复制链接]
dongdong0925 发表于 2011-9-25 21:26:31 | 显示全部楼层 |阅读模式
问题描述:
已在后台->门户->频道栏目下设置某个一级栏目的绑定域名,但是访问此域名,仍会跳转到门户域名下的频道地址上。
如后台设置的新闻频道的绑定域名为news.a.com,设置的默认域名为www.a.com,访问news.a.com会302跳转到www.a.com/portal.php?mod=list&catid=x的地址(www.a.com为门户域名,x为新闻频道的ID)。

原因:
绑定的域名生效同时还需要设置频道的目录名称,否则仍会跳转到门户域名下的频道地址。

代码分析:
在cache_portalcategory.php文件中的build_cache_portalcategory函数中,
  1. $domain = $_G['setting']['domain'];
  2. //$_G['setting']['domain']为后台->全局->域名设置下设置的域名,为数组。
  3. $channelrootdomain = !empty($domain['root']) && !empty($domain['root']['channel']) ? $domain['root']['channel'] : '';
  4. //$channelrootdomain为频道根域名,如果没有设置频道根域名则为空。
  5. $portaldomain = '';
  6. if(!empty($domain['app']['portal'])) {
  7.         $portaldomain = 'http://'.$domain['app']['portal'].$_G['siteroot'];
  8. } elseif(!empty($domain['app']['default'])) {
  9.         $portaldomain = 'http://'.$domain['app']['default'].$_G['siteroot'];
  10. } else {
  11.         $portaldomain = $_G['siteurl'];
  12. }
  13. //$portaldomain为门户域名
  14. //$domain['app']['default']为应用域名下的门户域名
  15. //$domain['app']['default']为应用域名下的默认域名
  16. //$_G['siteurl']为站点url
复制代码


  1. if($channelrootdomain && $data[$topid]['domain']){
  2. //如果存在频道根域名,同时设置该频道栏目绑定了域名
  3.         $url = 'http://'.$data[$topid]['domain'].'.'.$channelrootdomain.'/';
  4.         //设置该频道栏目的url为http://频道栏目绑定的域名.频道根域名/
  5.         if($foldername) {
  6.         //如果设置了频道的目录名称
  7.                 if(!empty($value['upid'])) {
  8.                 //如果存在父级分类
  9.                         $url .= $foldername;
  10.                         //设置该频道栏目的url为http://频道栏目绑定的域名.频道根域名/频道的目录名称
  11.                 }
  12.         } else {
  13.                 $url = $portaldomain.'portal.php?mod=list&catid='.$key;
  14.                 //没有设置频道的目录名称的话,设置该频道栏目的url为门户域名.poral.php?mod=list&catid=x(x为该频道栏目ID)
  15.                 //从这里可以看出来,如果仅设置了频道域名而没有设置频道的目录名称,则频道栏目的url还是会使用门户域名而非频道栏目绑定的域名
  16.         }
  17. } elseif ($foldername) {
  18. //没有设置频道根域名,但是设置了频道的目录名称
  19.         $url = $portaldomain.$foldername;
  20.         //设置该频道栏目的url为门户域名.频道的目录名称
  21.         if(substr($url, -1, 1) != '/') $url.= '/';
  22. } else {
  23. //没有设置频道根域名,没有设置频道的目录名称
  24.         $url = $portaldomain.'portal.php?mod=list&catid='.$key;
  25.         //设置该频道栏目的url为门户域名.portal.php?mod=list&catid=x(x为该频道栏目ID)
  26. }
复制代码


otherbank 发表于 2011-9-25 21:28:42 | 显示全部楼层
{:soso__13585677261962887982_1:}
回复

使用道具 举报

pcyi 发表于 2011-10-1 19:36:51 | 显示全部楼层
回复

使用道具 举报

xzqifan 发表于 2011-10-2 00:32:37 | 显示全部楼层
还是没看不太明白,我的www.myenshi.net我设置了个二级域名bbs.myenshi.net的,可是访问的时候就是有是三个地址都能访问,带www的动态地址以及伪静态地址,还有一个就是带bbs的伪静态地址都能访问到,是不是也需要设置呢?
回复

使用道具 举报

金股早知道 发表于 2011-10-2 11:28:19 | 显示全部楼层
新手来学习.......
回复

使用道具 举报

我心易用 发表于 2011-10-3 12:59:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

领.衔.丶.演 发表于 2011-10-9 01:05:46 | 显示全部楼层
学习了 ..X2  好难搞懂啊
回复

使用道具 举报

相约在上海 发表于 2011-10-10 20:10:55 | 显示全部楼层
全购网兼职群体社区怎么点好多链接都是错误呢?希望高手帮助解决。
回复

使用道具 举报

相约在上海 发表于 2011-10-10 20:11:56 | 显示全部楼层
www.51gso.com/bbs希望高手帮忙看看啊
回复

使用道具 举报

CCTC2011 发表于 2011-10-11 15:12:49 | 显示全部楼层
顶一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-22 06:41 , Processed in 0.044555 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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