[WordPress]W3 Total Cache で 500 Internal Server Error

WordPressで制作したサイトの表示があまりに遅いので、高速化のために「W3 Total Cache」というキャッシュプラグインを入れました。

デフォルト設定でもそこそこ効果があったので、もうちょっと効果を出そうと思って他のブログ記事などを参考に設定を変えてみたところ、「500 Internal Server Error」になり、管理画面も含めサイトに全くアクセスできなくなってしまいました。
ネットで検索した情報で復元を試みましたが、ちょっとしたコツが必要でしたので、私が行った対処方法を書いておきたいと思います。

消しても消しても復活する!

エラーが出たときに私が設定していた項目は「Browser Cache」でした。
ここの詳細設定に適当にチェックを入れて「Save all settings」ボタンをクリックしたら、「500 Internal Server Error」になって、サイト閲覧も管理画面へのアクセスもできなくなりました。

エラーの内容を基に検索をかけてみると、どうやら「.htaccess」が書き換えられているのが原因ではないかと思われたのでFTPソフトで .htaccess を見てみると、確かに多くの行が「W3 Total Cache」によって書き加えられています。

まず、「.htaccess」をリネームして動作しないようにしてみました。
そして、ブラウザで管理画面にアクセスするとログイン画面が表示されたのでログインしてみると・・・また、500 Internal Server Error が表示されてアクセスできなくなってしまいます。
FTPソフトで確認してみると、なんと、新しく .htaccess が生成されているんです。

つまり、プラグインが動作している限り、WordPressにアクセスするだけで .htaccess が生成されたり変更されて、ブラウザでアクセスできなくなってしまうのです。

復活や変更をさせないために

そこで、.htaccess が勝手に生成されたり変更されたりしない方法を考えました。

1.まず、FTPソフトで .htaccess を開き、「#BEGIN W3TC・・・ ~ #END W3TC・・・」と書いてあるところまでを削除します。いくつかブロックがありますので、とりあえず全部削除します。
他の部分は削除しないようにします。

# BEGIN W3TC ・・・・
・・・・
# END W3TC ・・・

2..htaccess が勝手に書き換えられないように、FTPソフトで .htaccess のパーミッションを「444」に設定します。
(管理者・ユーザー・ゲストすべて、読み込みのみの権限)

3.この状態でWordPressの管理画面にアクセスすると、W3 Total Cache がファイルを書き換えられない旨のエラーを表示しますが、管理画面の操作は可能になります。

4.W3 Total Cache のタブを開き、「Browser Cache」の設定を元に戻して(とりあえずクリアしてもいいです)「Save all settings」ボタンをクリックします。

5.サイトが表示されているのを確認したら、.htaccess のパーミッションを元に戻します。(「644」とか)

これで、サイト閲覧も管理画面へのアクセスもできるようになります。


表示が遅くなるくらいならともかく、管理画面にアクセスできなくなるなんて、本当に焦りました。
他のブログ記事を、よく確認もせずに鵜呑みにしちゃいけませんね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です