WordPressを利用してブログを作成している場合、種々のプラグインを利用できるのがよいところです。ところが、プラグイン同士の相性が悪い場合、トラブルの種になることも。
W3 Total Cacheというプラグインをインストールした後、ブログの画面や管理画面に[500 Internal Server Error]と表示されるだけでアクセスできなくなってしまったので、復旧手順をメモしておきます。
W3 Total Cacheと、このプラグインが引き起こす問題
調べてわかったことをまとめておきます。
- キャッシュを利用して、ブログの表示を早くするためのWordPressプラグイン
- 高性能でおすすめしている人がたくさんいる
- 一方で、トラブルを起こしてブログにアクセスできなくなったり、WordPressを再インストールしなければならない羽目になったりしている人も多い
- 他にインストールしているプラグインとの相性が悪ければ、上記のトラブルを起こすらしい(私の場合は、WP Securityというセキュリティ対策プラグインとぶつかったようです)。
問題発生までの経緯と症状
- WordPressで[W3 Total Cache]をインストール→問題なくインストール終了
- 有効化→ブラウザの画面が白紙になる
- ブログや管理画面にアクセスしようとしても、[500 Internal Server Error]と表示されるだけでアクセスできない
ということで、[有効化]を実行した後に問題が起こりました。
問題の解決法
対処法まとめ
[W3 Total Cache]でトラブルが起こったというブロガーの方はたくさんおられるようで、いくつも解説記事が見つかりました。私も、かなり参考にさせていただきましたので、まとめてリンクを掲載します。
(.accessなどの用語は、[自分が実行した対処法]で説明します)
- .taccessを編集して解決:Cherry Pie Web
- .taccessとadvanced-cache.phpを編集して解決:OyajiPressCom
- 該当プラグインを全削除して解決:ぬふふ.com
- 該当プラグインと関連ファイルを全削除して解決:Web政策memo
- PHP APPSを利用している場合、WordPressを再インストールするしか解決法がないらしい:ネットオウル掲示板
- WordPressを再インストールしても、古い.accessファイルが残っていると問題はそのまま残るらしい:ネットオウル掲示板
該当プラグインをアンインストールするだけでは収まらず(アンインストールしようとして問題が起こってしまうこともあるようです)、関連ファイルも全て削除しないといけないようです。
自分が実行した対処法
Cherry Pie Webを参考にして、.taccessを編集することで解決できました。
まずFTPアカウントを利用して、ブログやウェブサイトのファイルが置いてあるサーバーにアクセスします。一番上の階層に、.taccessというファイルがあります。頭のドットは、隠しファイルの印です。とにかくこのファイルを探して、開きます。サーバーのファイルマネージャを利用している人はそのまま開けますし、FFFTPやFileZillaなどFTP接続のファイル転送ソフトを利用している場合は、このファイルをダウンロードしてから開いてもOKです(その場合、文字コードのトラブルを起こすことがあるのでWindowsの[メモ帳]で開かないように気をつけてください)。
.taccessを開いて、その中の
# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
<IfModule mod_mime.c>
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
</IfModule>
</IfModule>
# END W3TC Browser Cache
のように、# BEGIN W3TC Browser Cacheと# END W3TC Browser Cacheで挟まれている部分を探します。他の部分を編集しないように、ここだけを削除します。ちなみに私の場合は、この部分しか.taccessファイルになかったので全削除しました。削除後、上書き保存してください。FFFTPやFileZillaからファイルをダウンロードして編集した人は、再度同じ場所にアップロードして上書きします。
これで終わりにすると、再び[W3 Total Cache]に.taccessを上書きされて問題が再発してしまいました。こんなことがないように、.taccessの権限を変更します。スターサーバーのファイルマネージャでは、黄色い歯車のマーク(1つ上の画像でも表示されています)から権限を変更できます。数値指定で、444と指定します。これで、このファイルが上書きできなくなりました。
これでWordPressの管理画面にアクセスできるはずです。管理画面から、[W3 Total Cache]のプラグイン管理画面に移ります。私の環境では、[Performance]と表示されていました。更に、[Browser Cache]に進みます。(.taccessにアクセスできない、という意味のエラーが[W3 Total Cache]の管理画面に表示されていると思いますが、気にしなくてよいです)
[Browser Cache]にはチェックボックスが並んでいます。このチェックがついているところを全て外します。外し終わったら、[Save all settings]をクリックして保存します。これで、.taccessが上書きされることはなくなりました。
最後に、.taccessの権限を元にもどしておきます。さっきと同じ、.taccessの権限管理で、644と指定して保存します。
とりあえずこれで、[W3 Total Cache]によって.taccessが編集されてブログにアクセスできないという問題は解決しました。
本当はこのプラグインごとアンインストールしてしまいたいのですが、アンインストールするだけでもトラブルを起こすことがあるので、また時間のあるときに落ち着いて作業したいと思います。
それにしても、ブログのバックアップをとっておくことは本当に重要だと実感しました。WordPressを再インストールしなければ直らない場合だと、バックアップがなければブログ記事が全て消えてしまうという恐ろしいことになります。バックアップ、必ずとっておきましょう。
ピンバック: W3 Total Cache導入後に500 Internal Server Errorに出くわした時の対処メモ | くにぽん’ず★きちめきパラダイス
ピンバック: キャッシュ系のプラグインには気をつけろ!! | Kobayashi Blog