RSS提要必须是XML文件吗?

时间:2012-11-08 05:28:57

标签: php xml wordpress

我问这个是因为我在wordpress博客中只看到两个xml文件,wlwmanifest.xml和default.xml,看起来都不像rss feed。但是我确实看到一个名为feed-rss2.php的php文件看起来像一个rss feed。我读过的所有东西都说rss feed必须是xml文件。我错了吗?它们可以是包含xml代码的php文件吗?

3 个答案:

答案 0 :(得分:2)

他们只是输出带有XML标头的XML代码。实际文件不必是XML文件,只需要响应是text / xml并包含XML输出。你可以为CSS文件等事情做同样的事情......真的。

答案 1 :(得分:0)

RSS阅读器只能在客户端而不是服务器端查找。在wordpress安装中,feed-rss2.php是一个PHP文件,由服务器处理,通过以下格式提供正确的标题:

header("Content-type: text/xml");

这样读者就可以知道它是一个XML文件,而不是一个PHP文件。正如Robbo所述,实际文件不必是XML文件,只需要响应必须是text / xml并包含XML输出。

即使是与样式相同的情况。如果您看到wordpress的style.php,它会有类似的内容:

header("Content-type: text/css");
include($theme . "/style.css");

因此,它使用PHP的功能来读取相应的文件并在同一URL中显示输出。容易不是吗?

答案 2 :(得分:0)

HTTP中没有文件扩展名。

客户端从服务器请求URI。服务器使用Content-Type HTTP标头进行响应,该标头说明它发回的文件类型以及HTTP正文中的文件。

客户端不关心(并且无法知道)服务器是否通过读取静态文件,运行程序或通过其他方式生成响应。

输出XML的PHP​​程序和静态XML文件之间的客户端没有区别。