WordPressで500エラーに対応

WordPressの管理画面を利用中に突然500エラーとなりました。

500エラー以降は管理画面が白紙のまま何もできません。

500エラーの原因として考えられるのは、

・.htaccessの設定ミス
・プラグインのエラー
・CGIのパーミッションミス
・CGIへの高負荷

などがあります。

.htaccessの内容がおかしいなら初期化するのも手。
以下の記述が正当な.htaccessの記述なので食い違ってないか確認。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

食い違いがあるなら修正しますが、その前に念のためにバックアップを取っておきます。

プラグインのインストールで新しい記述が.htaccessに追加される場合もあり、その記述を削除します。

プラグインをインストールしたら500エラーとなったのなら、そのプラグインを削除すれば元通りになります。
サーバーの管理画面かFTPで直に該当ディレクトリにアクセスしてプラグインを手動で削除します。

CGIへの高負荷の場合、xmlrpc.phpへのブルートフォースアタックが原因かもしれません。
サーバーのログを開いて(ダウンロードして)ログ内のxmlrpc.phpを検索し、
大量に該当ログがあるならブルートフォースアタックが原因の可能性が濃厚です。
この場合、xmlrpc.phpへのアクセスを遮断するのが対症療法としては有効。
.htaccessに以下の記述を追加します。

<Files xmlrpc.php>
deny from all
</Files>

ただし、この方法だとあらゆるアクセスを禁じてしまうので自分のアクセスすらできなくなります。
またコメントやトラックバックも使えなくなります。

CGIのパーミッションミスは直接弄ってないなら起こりえないはず。
644、707とか755だと思いますが、適切なパーミッションはサーバー毎に異なるので確認してください。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください