在 CakePHP 中,我有一个 rss 视图,它在http://example.com/file.rss
. 因为Router::parseExtensions('rss')
内容被正确处理为 xml/rss。
现在我$this->cacheAction
用来缓存请求。一切正常:生成 rss 内容并在第一次请求后创建缓存文件。
但是会出现以下问题:第一个请求返回一个header Content-type: application/rss+xml
(这是正确的)。第二个请求(这是缓存视图的结果)返回一个完全不同的 header Content-type: text/html
。但为什么?如何确保始终获得 rss 标头?
我正在使用最新版本的 CakePHP 2.3。
我已经尝试default.ctp
通过添加在 rss 布局文件中设置标题
// ...
?><!--nocache--><?php
header('Content-type: application/rss+xml');
?><!--/nocache--><?php
// ...
和类似的代码片段,但没有成功。响应头仍然是 html 内容类型。