1

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

4

3 回答 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-TypeHTTP 标头进行响应,该标头说明它发送回的文件类型以及 HTTP 正文中的文件。

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

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

于 2012-11-08T07:32:09.730 回答