昨天遇到了一个非常奇怪的问题,在试图订阅自己的feed时,google reader总提示”未找到订阅源”。
同时又收到feedburnerin发来的错误提示:
FeedBurner had trouble retrieving your Source Feed: https://blog.easwy.com/feed
The error message is:
Error on line 1: White spaces are required between publicId and systemId.
Actions you can take:
Validate your Source Feed with Feed Validator. This service provides additional detail about the problem, and how to repair it.
于是我直接在浏览器里输入自己feed的地址:http://feed.easwy.com/,显示出来的是一个网页。
看来feed的生成有问题,登录http://feedvalidator.org/check.cgi,输入自己的feed地址,校验的结果如下:
It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn’t find one. Please enter the address of your feed to validate.
Source: https://blog.easwy.com/feed
1. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”>
2. <html>
3. <head>
4. <title>Index of /blog/feed</title>
5. </head>
6. <body>
7. <h1>Index of /blog/feed</h1>
8. <ul><li><a href=”/blog/”> Parent Directory</a></li>
9. <li><a href=”cgi-bin/”> cgi-bin/</a></li>
10. </ul>
11. <address>Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at easwy.com Port 80</address>
12. </body></html>
feed怎么变成网页了?在google上搜了半天,在wordpress论坛上也有人和我的现象一样,可是别人提供的解决方法却不能解决我的问题。
feed在两天前还是好的。回想自己之前的操作,好像是把wordpress从2.7升级到了2.7.1,然后又新装了一些插件,会不会因为某个插件的原因呢?尝试把所有的插件(plugin)都禁用,效果还是一样。
无奈之下,只好把wordpress重装了一下,这次直接安装2.7.1。安装之后,feed恢复正常了!
问题虽然解决了,可问题的原因还是不清楚。后来想了一下,如果不重装,而只是把wp-rss2.php文件重新替换一下,是不是就可以解决这个问题了呢?如果有其它人遇到类似问题,可以试一下。
我那边是因为一篇文章中的特殊字符,影响了feed的输出。
可以检查一下最近的文章,看一下是否出现问题。
问题解决了,出现这样的错误,可能是因为我之前通过feedsky将我的feed地址烧制为feed.tj4c.com, 然后不知道怎么回事,在站点根目录下生成了feed/cgi-bin这样的目录,删除feed目录就好了!
我今天也遇到了,尝试中,希望可以不需要重装!都是feedsky惹的祸!