HTTP标头未被更改:yii2

时间:2015-10-13 15:27:05

标签: php yii2

我正在为我的服务器使用yii2和apache。当我尝试更改HTTP标头时,没有任何变化。

Yii::$app->response->headers->set('Pragma', 'cache');

默认Pragma: no-cache仍然存在。这是我的控制器或配置文件。我尝试过使用

直接更改标题的建议
headers("Pragma: cache");

这非常有效,在Yii2中使用Response类时可能会出现什么问题?

2 个答案:

答案 0 :(得分:1)

您必须在更改标题之前,在响应类中设置format属性。

在yii2手册中

  

FORMAT_RAW:数据将被视为没有的响应内容   任何转换。 不会添加额外的HTTP标头

http://www.yiiframework.com/doc-2.0/yii-web-response.html#$format-detail

示例:

Yii::$app->response->format = yii\web\Response::FORMAT_RAW;
Yii::$app->response->headers->set('Pragma', 'cache');

答案 1 :(得分:0)

好像你有另一个代码正在修改标题(显式或隐式)。检查HeaderCollection课程,我认为没有任何理由不起作用。因此,检查发布行后面的代码,看看它没有修改相同的标题。

如果没有您发布相关代码,并说明Yii2版本,这是我能帮到的最好的方法!