首页 » 二次开发 » 阅读文章
dede生成rss后链接地址出现错误解决方案
正常的应该是RSS生成后,标题链接的地址应该是 http://www.php100.com/html/phpnews/PHPxinwen/2010/1118/6844.html 这样子的,也就是说是一个可以打开的完整地址,但是今天错误产生后,就成了http://www.php100.comhttp://www.php100.com/html/phpnews/PHPxinwen/2010/1118/6844.html 这样子,多了一个http://www.php100.com出现了,想必第一感觉就是RSS那多了一个路径
下面给出解决方案
问题的原因:
通过查看RSS文件的模版文件/templets/plus/rss.htm的以下代码,找出控制链接的标签是以下加粗的部分:
<title><![CDATA[[field:title/]]]></title>
<link>[field:fullurl/]</link>
<description><![CDATA[[field:description function=’html2text(@me)’/]]]></description>
<pubDate>[field:stime/]</pubDate>
<category>[field:typename/]</category>
<author>[field:writer/]</author>
<comments>[field:source/]</comments>
</item>
在DW中整站搜索fullurl,在/include/arc.rssview.class.php文件中找到了以下代码:
$row[“fullurl”] = $GLOBALS[“cfg_basehost”].$row[“arcurl”];
很容易知道,cfg_basehost指的是网站根网址,就是上面的RSS文件链接代码中我用红色标注的部分,而arcurl是指的最终文章页面的链接地址,就是上面的RSS文件链接代码中我用蓝色标注的部分。
毫无疑问,由于我们的arcurl在系统默认安装的情况下,本身就是包括cfg_basehost所表示的网站根网址的,所以,fullurl的内容就重复了网站根网址部分,所以,也就出现了上面的“红蓝组合”的链接地址错误。
3、问题的解决:
问题的解决其实很简单,掠过上面1和2直接跳转到3的朋友也没关系,我上面完全是废话,只是为了证明本文是原创,耽误大家时间了,不好意思。
以下是本文核心内容:
将/include/arc.rssview.class.php文件第129行:
$row[“fullurl”] = $GLOBALS[“cfg_basehost”].$row[“arcurl”];
改为:
$row[“fullurl”] = $row[“arcurl”];
即可!
评论 共0条 (RSS 2.0) 发表评论