我问这个是因为我在 wordpress 博客中只看到两个 xml 文件,wlwmanifest.xml 和 default.xml,而且看起来都不像 rss 提要。但是,我确实看到了一个名为 feed-rss2.php 的 php 文件,它看起来像一个 rss 提要。我读过的所有内容都说 rss 提要必须是 xml 文件。我错了吗?它们可以是内部带有 xml 代码的 php 文件吗?
问问题
1194 次
3 回答
2
他们只是输出带有 XML 标头的 XML 代码。实际文件不必是 XML 文件,只是响应必须是 text/xml 并包含 XML 输出。你可以对 CSS 文件之类的东西做同样的事情......真的。
于 2012-11-08T05:32:29.023 回答
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 中显示输出。容易不是吗?
于 2012-11-08T05:34:35.077 回答
0
HTTP 中没有文件扩展名之类的东西。
客户端向服务器请求 URI。服务器使用Content-Type
HTTP 标头进行响应,该标头说明它发送回的文件类型以及 HTTP 正文中的文件。
客户端不关心(也不知道)服务器是否通过读取静态文件、运行程序或其他方式生成了该响应。
输出 XML 的 PHP 程序和静态 XML 文件对客户端没有区别。
于 2012-11-08T07:32:09.730 回答