さくらのレンタルサーバでWP Super Cacheは要注意!

そのキャッシュ、実は機能してませんよ?

WP Super Cache はバージョン1.4.5から /wp-contet/cache/.htaccess ファイルに
Options -Indexes
を付加するようになりました。(mod_rewrite モードの場合)

さくらのサーバではOptionsの指定が出来ないため使えません。
この問題は気づきにくいので注意が必要です。

Autoptimizeなど、他のキャッシュ系プラグインが期待通りに動かない場合は疑ってみてください。

解決策

/wp-contet/cache/.htaccess ファイルの Options -Indexes 部分を全てコメントアウトし、WP Super Cache が書き換えてしまわないようにパーミッションを644から444に変更します。

例:WP Super Cache の出力する.htaccess

DirectoryIndex index.html .ht

# BEGIN supercache
<IfModule mod_mime.c>
  <FilesMatch "\.html\.gz$">
    ForceType text/html
    FileETag None
  </FilesMatch>
  AddEncoding gzip .gz
  AddType text/html .gz
</IfModule>
<IfModule mod_deflate.c>
  SetEnvIfNoCase Request_URI \.gz$ no-gzip
</IfModule>
<IfModule mod_headers.c>
  Header set Vary "Accept-Encoding, Cookie"
  Header set Cache-Control 'max-age=3, must-revalidate'
</IfModule>
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/html A3
</IfModule>
# Options -Indexes	←コメントアウト

# END supercache

# BEGIN INDEX
# Options -Indexes	←コメントアウト
# END INDEX

これで cache/ ディレクトリ内にアクセスしても 500 Interal Server Error は出なくなり、スタティックなファイルによる高速キャッシュの恩恵が受けられるようになります。

WP Super Cache の圧縮設定等を変更する際は /wp-contet/cache/.htaccess ファイルを自分で書き換える必要がありますが、一度決めたら変更することはあまりない部分なので、さくらで WP Super Cache を使い続けたい方にお勧めします。


カテゴリー: プラグイン | タグ: , , , , , | コメントする