当前位置: 主页 > 网站建设 >

织梦rss地图链接错误修改

这几天刚见了个网站:http://www.5uman.com ,网站刚上线,需要修改很多地方,模板需要修改,程序需要修改,真的是烦死了。

织梦rss地图链接错误修改方法:

生成了rss地图和rss文件,却发现链接都是错误的,前面多了一个网址,是错误的死链接,那当我们用dede做网站的优化, 通常会打开生成绝对址,也就是后台设置中的多站点支持功能,这样有利于权重的集中。但会产生一个问题:

如果你用的dedecms5.5、5.6,不修改的话,生成的RSS中的文章链接是错误的。原因就是程序最开始已经判断没有开启绝对网址(多站点支持),如果开启了,会在URL前面加一个根地址$GLOBALS["cfg_basehost"]。

现在在生成RSS的时候对参数[fullurl]又加了一个根地址$GLOBALS["cfg_basehost"]。

生成URL如: http://www.56894.comhttp://www.56894.com/news/86.html这样生成的网址肯定是错误的链接了。

找到了问题所在,就容易解决了,有两种方法解决这个问题:

第一种方法是修改模板文件,找到模板文件: /templets/plus/rss.htm 打开,再打到[field:fullurl/] 改成[field:acrlurl/]完成,再生成RSS时就不会产生链接错误了,这是简单方便的方法,但是只能改内容页面的链接,栏目页却无法修改。

第二种方法是修改程序文件,因为开始绝对网址之后(多站点支持), 会进行两次添加根地址, 导致重复。 所以我们在程序中修改一下也可以修正这个错误。打开系统文件: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);

这个是目录的,同样文章的也加一个是否开启了绝对地址的判断
找到
 $row["fullurl"] = $GLOBALS["cfg_basehost"].$row["arcurl"];

改为:
 $row["fullurl"] = ($GLOBALS['cfg_multi_site']=="Y")?$row["arcurl"]: $GLOBALS["cfg_basehost"].$row["arcurl"];

这里推荐第一种方法修改模板文件,这样不会像第二种方法那样修改了系统的核心类库,不利于以后程序升级和修改。

另外,如果你不是特意开启多站点支持的,并且你也不需要的,还是建议你修改配置后重新生成。

以上就是关于织梦rss地图链接错误的修改方法。
本文来源于郑州seo尚贝'blog:http://www.56894.com/ , 作者:尚贝,原文地址:http://www.56894.com/jianzhan/87.html

Copyright © 2011-2012 洛阳网站建设版权所有 洛阳做网站 洛阳网页制作 请联系QQ:370749921 郑州不孕不育医院哪家好