我爱学习网首页 | 设为首页 | 收藏本站 | 网站地图 您好,欢迎光临我爱学习网
我爱学习网

当前位置:首页 > 编程开发 > dedecms织梦 >

dedecms生成RSS栏目链接错误解决办法

时间:2014-01-16 19:42 来源:我爱学习网 | 作者:我爱学习网 | 本文已影响
笔者今天在给google提交站点地图时发现提示有一个错误,经检查发现所生成的RSS中的文章栏目链接是错误的.原因就是程序最开始已经判断没有开启绝对网址(多站点支持), 如果开启了,会在URL前面加一个根地址$GLOBALS["cfg_basehost"]. 现在在生成RSS的时候对参数[fullurl]又加了一个根地址$GLOBALS["cfg_basehost"]. 生成URL:
 
http://www.abc.comhttp//www.abc.com/html/xxxx
 
这样生成的网址肯定是错误的链接了.
 
 
因为开始绝对网址之后(多站点支持), 会进行两次添加根地址, 导致重复. 所以我们在程序中修改一下也可以修正这个错误. 
 
打开系统文件:include/arc.rssview.class.php   
 
找到
 
$this->TypeFields['typelink'] = $GLOBALS['cfg_basehost'].$this->TypeLink->GetOneTypeUrl( $this->TypeFields);
 
改为
 
$this->TypeFields['typelink'] = ($GLOBALS['cfg_multi_site']=="Y")?$this->TypeLink->GetOneTypeUrl( $this->TypeFields) : $GLOBALS['cfg_basehost'].$this->TypeLink->GetOneTypeUrl( $this->TypeFields);
 
这个是目录的  
较低版本的dede同样文章的也加一个是否开启了绝对地址的判断,新版本似乎这里没错
 
找到
 
$row["fullurl"] = $GLOBALS["cfg_basehost"].$row["arcurl"];
 
改为
 
$row["fullurl"] = ($GLOBALS['cfg_multi_site']=="Y")?$row["arcurl"]: $GLOBALS["cfg_basehost"].$row["arcurl"];
(责任编辑:我爱学习网)


分享到: 更多