我问这个是因为我在wordpress博客中只看到两个xml文件,wlwmanifest.xml和default.xml,看起来都不像rss feed。但是我确实看到一个名为feed-rss2.php的php文件看起来像一个rss feed。我读过的所有东西都说rss feed必须是xml文件。我错了吗?它们可以是包含xml代码的php文件吗?
答案 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文件之间的客户端没有区别。