4

重複の可能性:
キャッシュ制御が失敗する

私は現在使用しています:

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">

それでもまだキャッシュします

4

3 に答える 3

5

プラグマを追加することもできます:no-cache 。そしてLast-Modified、過去に十分な距離があることを確認してください。クライアントとサーバーの間の小さなクロックスキューは、クライアントをだまして、ドキュメントの新しいバージョンがあると思わせる可能性があります。たとえば使用Tue, 15 Nov 1994 12:45:26 GMTします。また、過去の日付を含むExpiresヘッダーを追加します。

于 2012-12-27T13:50:22.183 に答える
1

私は通常、これを.htaccessに追加します

<filesMatch "\.(js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>

fileMatch を変更して他の拡張子を追加します ...

于 2012-12-27T13:53:05.937 に答える
0

各URIの最後にタイムスタンプを追加すると、ブラウザはキャッシュからタイムスタンプを取得しません(次回のロード時に別のURIで取得されるため)。

于 2012-12-27T13:47:50.150 に答える