2015-10-13 10 views
5

私のサーバーにyii2とapacheを使用しています。 HTTPヘッダーを変更しようとすると、何も変わりません。HTTPヘッダーが変更されていません:yii2

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

デフォルトのPragma: no-cacheが残ります。これは私のコントローラまたは設定ファイルの両方にあります。

headers("Pragma: cache"); 

これは完全に動作しますが、Yii2でResponseクラスを使用すると問題が発生する可能性がありますか?

+0

それが動作します;'使用を? –

+1

@セドリックはそれには感謝しています。私はそれを以前は使用していませんでした。問題はフレームワークでなければならないので、それに応じて私の質問を更新しましょう。 – learner

+0

@learnerエラーメッセージは表示されませんか? 'あなたはYiiを使う? ' –

答えて

0

ヘッダを(明示的にまたは暗黙的に)変更しているようです。 HeaderCollectionクラスを確認しても、動作しない理由はありません。したがって、投稿された行の後のコードをチェックして、同じヘッダーを変更していないことを確認してください。

関連コードを掲示せず、Yii2バージョンが記載されていない限り、これは私が手助けすることができる最高のものです!

1

ヘッダーを変更する前に、応答クラスでformatプロパティを設定する必要があります。 yii2手動で

FORMAT_RAW:データは 任意の変換なし応答内容として扱われます。 追加のHTTPヘッダーは追加されません。

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

例:あなたはPHPの伝統的な `ヘッダ( "プラグマ:キャッシュ")を使用する場合

Yii::$app->response->format = yii\web\Response::FORMAT_RAW; 
Yii::$app->response->headers->set('Pragma', 'cache'); 
関連する問題