このコードをPHPの最初に記述しておけばいいらしいのでメモ。
header( ‘Expires: Sat, 26 Jul 1997 05:00:00 GMT’ );
header( ‘Last-Modified: ‘ . gmdate( ‘D, d M Y H:i:s’ ) . ‘ GMT’ );
header( ‘Cache-Control: no-store, no-cache, must-revalidate’ );
header( ‘Cache-Control: post-check=0, pre-check=0’, false );
header( ‘Pragma: no-cache’ );
以前はMetaタグでキャッシュさせないようにしていたんだけど、ChromeとかSafariとかはMetaタグを無視してどんどんキャッシュするらしい。それどころか、HTTPSの通信であってもキャッシュするらしい。なかなか厄介。
今回は、HTTPヘッダ情報としてLast-Modifiedを出力するようにしたためか、これでChromeでもうまく情報が更新されるようになった。
ということで、この記事のタイトルは正しくないんだろう。本当はキャッシュはされるけど、ページの情報が毎回更新される(リロードしたときと同じ感じ)ということかな。