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

これで解決。