サイトアイコン Amelt.net

wordpress:coreserver(コアサーバー)で500 Internal Server Errorがでる

Amelt

Amelt

This post is also available in: English-US (英語)

coreserver(コアサーバー)でFastCGI版PHP対応などのアップデートにて、管理している半分のwordpressのサイトで500 Internal Server Errorが出るといった悪夢に遭遇しました。
本記事は、その時にWordpressで500 Internal Server Error対処した方法や調べた事などのメモを書いています。

ちなみに、メンテナンスやサーバーステータスに関してのcoreserver(コアサーバー)の情報は以下のページで公開されています。
先に以下のページでチェックしてみて、サーバーに障害が出ていないなら、利用者側で何かしらのアクションが原因でエラーが起こっているのだと判断できます。

https://mainte.value-domain.com/

500 Internal Server Error

500 Internal Server Errorは、おおよそhtaccessの設定かCGIの問題などで起こります。
wordpressもCGIの一つとして見ることができるので、内部で問題があったら500 Internal Server Errorが出ます。

あと、coreserver(コアサーバー)/xreaはたまに重い時があり、サーバーが重いので500 Internal Server Errorが出てるという時も(けっこう)よくあります。

今回のエラーの原因

.htaccessに以下の記述があったことが原因でした。

Options All -Indexes

ディレクトリ内のファイル一覧を表示しないようにする呪文のつもりだったのですが、サーバーのアップデートにより500 Internal Server Errorが出る原因になっていました。

wordpressを使っている時に軽くエラーの原因を調べる方法

wordpressのエラーで管理画面に入れない時などは、サーバーの管理画面にログインして、ファイルを直接編集する事で、以下のようにして調べることもできます。
ただし、必ずバックアップしてから行うようにしてください。

.htaccessファイルをリネームして__.htaccessのようにする

.htaccessファイルをリネーム(名前の変更)するとhtaccessが無効となりますので、htaccessに問題があった時にはすぐに分かります。

wordpressの個別のプラグインフォルダをリネームする

wordpressの個別のプラグインフォルダをリネーム(名前の変更)するとプラグインが強制的に無効になる為、プラグインのバグが原因でエラーが出ている場合には特定することができます。
テーマファイルにおいても同様です。

テスト用の簡単なindex.htmlファイルを作って表示してみる

ドメインフォルダ直下にindex.html(さくらサーバーならwww直下)を設置し表示してみます。これで500 Internal Server Errorが出るようなら、サーバー側かhtaccessファイルの設定の問題の可能性が大きいです。

PHPのバージョンが適切か調べる

PHPのバージョンがお使いのwordpress本体、そして有効化したプラグインと合っていないと500 Internal Server Errorがでます。
wordpressのアップグレードや、新しいプラグインを有効化した後にエラーが出ている場合には可能性があるかもしれません。