小さなイントラネットサイトの場合、Firefoxによって正しくキャッシュされていない動的(AJAXを含む)ページがあります。単一ページのブラウザキャッシュを無効にする方法はありますか?
これが私が使用しているセットアップです:
- XAMPPでのApache、Windowsサーバーで実行
- PHP
明確化
私が主に懸念しているコンテンツは、ページテキストと一部<select>
のデフォルトオプションです。そのため、たとえば、一部の画像URLの末尾に乱数を追加することはできません。
アップデート:
私はこれまでに得た提案に従いました:
- nocacheヘッダーを送信しています(以下を参照)
次のように、タイムスタンプURLパラメーターを含め、ページが2秒後にリロードされた場合に新しいパラメーターにリダイレクトします。
$timestamp = $_GET['timestamp']; if ((time()-$timestamp) > 2) { header('Location:/intranet/admin/manage_skus.php?timestamp='.time()); }
現在、Firebugは、ヘッダーがキャッシュを指定していないことを示していますが、問題は解決していません。このページの応答ヘッダーは次のとおりです。
Date Fri, 25 Sep 2009 20:41:43 GMT
Server Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
X-Powered-By PHP/5.2.8
Expires Mon, 20 Dec 1998 01:00:00 GMT
Last-Modified Fri, 25 Sep 2009 20:41:43 GMT
Cache-Control no-cache, must-revalidate
Pragma no-cache
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html