Linux サーバーで .htaccess ファイルを編集していて “500 internal server error” が表示されたときの対処方法についてまとめておきます。
背景
レンタルサーバー(ConoHa VPS)を契約し、WordPress でホームページを作成しています。
Web サーバーの運用を開始したところ、海外などからの異常なアクセスが常時あります。
そこで、Webサーバー上で、.htaccess を編集し、ブラウザからサイトにアクセスしたところ、500 エラーが出てサイトがうまく表示されなくなりました。
修復するには編集箇所を元に戻していくという、ある意味、あたり前のアプローチをすることになりますが、サーバーの挙動がどうなるかも含め、ポイントをまとめ公開しておきます。
環境: レンタルサーバー(ConoHa VPS)、CentOS 8.0、WordPress
現象
Webサーバーの定期的なメンテナンスで、異常なアクセスを制限するため、.htaccess を修正してサーバー上で保存しました。
サイトにアクセスしてみたところ以下のエラーが表示され、サイトが正常に表示できなくなりました。
ブラウザのタブの表示
“500 internal server error”
エラーの詳細
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
対処方法
サーバーの動作を確認しながら .htaccess の修正箇所を戻していく、というアプローチになります。
手順
① Webサーバーのコンソールを表示させる。
② ルートフォルダに移動する。
例: ”cd /var/www/html/”
③ vi .htaccess を実行し、編集状態とする。
④ .htaccess の記載を修正して保存する。
・ 例えば、修正箇所を一部、もとに戻してみる。
⑤ Apache を再起動する。
# systemctl restart httpd
# systemctl status httpd
→ ”httpd.service … Active: active (running) 等と表示される。
→ ”q” と入力して終了する。
⑥ この状態で、もう一度、ブラウザからサイトにアクセスしてみてください。
サイトがうまく表示されたら完了です!
うまく表示されない場合、③~④で、.htaccess をさらに修正し、修正箇所をすべてもとに戻していきます。(問題個所を特定していきます。)
※ 私が経験した事例では、④で一度、保存しなおしてみたところ、復旧しました。
まとめ
.htaccess を編集していて 500 エラーが出たときの対処方法をまとめました。
具体的にどういったエラー文字が表示されるか、その場合どうすべきかなど、明確にまとめられたサイトが少ないようでしたので、サーバーの動きも含め、ポイントを整理して公開しておくことにします。
Web サーバーの運用にあたり、他にも基本的なコマンドや遭遇したエラー表示などをまとめています。
もしも関心があるようでしたら参考にしてみてください。
関連リンク
・ エラーコードのまとめ 【Webサーバー】
・ アップグレード後に 500 エラーが出たとき 【Linux】
・ “Error establishing a database connection” が表示されたとき【Linux】
・ Webサーバのアクセスログの確認方法 【Linux】