好的-首先是简单的细节:
提要网址:http://feeds.wired.com/wired/index
当我直接通过simplepie而不是CraftCMS访问它时,提要就会加载,而不会出现问题。当我通过CMS模板系统访问它时,它会抛出一个错误,说明返回的XML实际上是垃圾。查看这一点,这是因为提要主机正在返回一个未找到的页面。
我仔细研究了代码,找出了为什么在有效的URL上找不到它,并在文件中发现:
/library/simplepie/registry.php
public function &create($type, $parameters = array()) (around line 160)在这个函数中,我看到创建了一个新的反射类,并发送了新的InstanceArgs参数。此时,Feed将从以下位置更改:
http://feeds.wired.com/wired/index
至
http://feeds.wired.com/wired/index?#
实际上,这个添加了?#的新URL将导致提要站点返回一个未找到的页面。所以我所有的错误..。
这开始影响我的能力--我想知道是什么导致了?#的添加,以及是否有办法阻止它?或者任何其他可能解决我问题的方法。
发布于 2014-06-05 01:54:07
我无法解释为什么它在Craft之外而不是在内部工作,但在我看来,它绝对像一个SimplePie bug。
刚刚创建了一个问题,并使用修复程序(https://github.com/simplepie/simplepie/issues/366)拉出了请求,并将在Craft本身中查看如何更新它。
更新:看来我的修正并没有破坏他们的一些测试,所以我们不会把它放到Craft中,但是他们已经承认它需要修复。
https://stackoverflow.com/questions/24035194
复制相似问题