ExpiresActive not allowed here

プラグイン関係をいろいろいじったら500番エラーが出てランダムにアクセス不可状態になりました。/var/www/httpd/log/error_logを見たら、タイトルのエラーが出ていたので検索。FAQだったようで、Wordpressのサポートフォーラムに全く同じ現象に遭遇した人の書き込みがありました。

結局のところ、WP Super Cache Pluginが悪さをしていたようです。なんで突然そのような現象が発生したのかはわかりませんが…利用していたつもりで実は利用していなかった、ということだと思いますが、今になってはもうわかりません。

最終的に、/etc/httpd/conf/httpd.confの中を以下のように修正して問題は解決しました。

<Directory “/var/www/html”>
Options Indexes FollowSymLinks

# For WordPress
#     AllowOverride FileInfo
AllowOverride All

(以下省略)

AllowOverride FileInfoは、たぶん自分でWordpressを導入した時に追加した記述だと思います。要するに、キャッシュを効かせたいディレクトリに対して、WP Super Cacheが利用しようとしていたApacheの機能の利用が許可されていなかったということのようです。

.htaccessを修正して、ExpiresActive関連の記述を削除するというやり方もあるようですが、そうするとキャッシュ効率が落ちそうな気がしたので、私は許可範囲を広げる方で手を打ちました。

コメントする