我正在为我的服务器使用yii2和apache。当我尝试更改HTTP标头时,没有任何变化。
Yii::$app->response->headers->set('Pragma', 'cache');
默认Pragma: no-cache
仍然存在。这是我的控制器或配置文件。我尝试过使用
headers("Pragma: cache");
这非常有效,在Yii2中使用Response类时可能会出现什么问题?
答案 0 :(得分:1)
您必须在更改标题之前,在响应类中设置format
属性。
:
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版本,这是我能帮到的最好的方法!