PHPでアプリケーションを開発していて困るのが、キャッシュの管理。特に、DBが更新された後のデータ表示など。基本的に、PHPの出力の最初の方で、header関数でキャッシュを無効化するようにしていするのだが、全ページに渡ると結構面倒くさい。ということで、.htaccessでディレクトリ内に入っているファイル全部に対して反映するようにする。
<Files ~ “\.(html|php)$”>
Header add Pragma “no-cache”
Header set Cache-Control no-cache
</Files>
こう記述すると、*.htmlと*.phpなファイルのキャッシュを無効にするように、ブラウザに指定できる。
PHPってphp.iniのデフォルトの設定がno-cacheじゃなかったですかね・・・
Header関数使うよりもphp.iniで設定してまう方が良いような気も。
DB更新後にキャッシュが見えるのはブラウザの問題も、中継サーバーの問題もあるような。。。http://jp.php.net/manual/ja/ini.php