mod_cacheでキャッシュされずに悩んだ話
一部コンテンツがmod_cacheにキャッシュされずに悩んだのが解決したのでメモ。
ググるとだいたいExpiresを設定するように書かれていて大体はこれで解決したけど、さくらのレンタルサーバで動かしているwordpressのfeedがどうしてもキャッシュされない。
まず、mod_cacheの動作状況を調べるため、httpd.conのLogLevelをdebugにしてエラーログを眺めてみる。
すると、以下の様なメッセージが見つかった。
[debug] mod_cache.c(141): not use cache
これで実際にキャッシュが利用されていないことが確認できた。
続いて以下のようなメッセージが見つかった。
[debug] mod_cache.c(583): cache: /blog/feed/ not cached. Reason: Cache-Control: no-store present
これで原因が分かった。
さくらレンタルサーバでお手軽にwordpressをセットアップしたので、ヘッダにno-storeを設定したわけではない。
これを解決するにはphp.iniに以下を追加する。
session.cache_limiter = public
これで解決。