0

動的サイト (100% ajax) が別のページに移動したときに更新されないという問題がありました。HTMLページをキャッシュしたいだけです。css と js は変更されません。それをキャッシュしたいのですが。

次のphpを追加しました

Response::header('Cache-Control', 'no-store, private, no-cache, must-revalidate'); // HTTP/1.1
Response::header('Cache-Control', 'pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
Response::header('Pragma', ' public');
Response::header('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT');                  // Date in the past  
Response::header('Expires', '0', false); 
Response::header('Last-Modified', gmdate('D, d M Y H:i:s') . ' GMT');
Response::header('Pragma', 'no-cache');

そして次のhtml

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

css/js を中断するか、html をリロードする必要がありますか。

4

1 に答える 1

1

あなたの質問の「HTMLページをキャッシュしたいだけです」は少し混乱します。私が収集した問題は、ブラウザがコンテンツをキャッシュしているが、キャッシュを無効にしたいということです。:)

いずれかの方法:

PHP 出力に何を追加しても、PHP 出力にのみ影響します。PHP スクリプトで HTML を生成すると、PHP によって生成された HTML のみが影響を受けます。

ボーナス回答:

.js および .css ファイルのキャッシング ポリシーを変更する必要がある場合は、Apache の httpd.conf または .htaccess を操作する必要があります (Apache が HTTP サーバーであると仮定します)。

于 2013-09-28T08:46:50.007 に答える