[b]【500エラー】500 Internal Server Error!原因が.htaccessファイルだった場合の改善方法

photo credit: vnaylon via photopin cc

丸1日ほど「500 Internal Server Error」を起こしてしまいブログが開きませんでした。なぜそんなエラーが起こってしまったのか?今回の原因と僕なりの直し方を紹介していきます。

使用サーバー:エックスサーバー
使用FTP:Filezilla
使用PC:Windows(自宅)Mac(会社)

photo credit: vnaylon via photopin cc

スポンサーリンク

500 Internal Server Errorと今回の原因

500 internal server error

500 Internal Server Errorとは

断続的に発生する場合

  • CGIの負荷が大きい(CGIプロセスが多数動作している)。

常に発生する場合

  • CGIのパーミッション設定に誤りがある。
  • CGIのソースコードに問題がある。
  • .htaccess の記述に誤りがある。

上記が原因で起こるサーバーのエラーということ。今回の原因は「.htaccess の記述に誤りがある。」では.htaccessとはいったい何なのか?

.htaccessとは

.htaccess(ドットエイチティーアクセス)とは、ディレクトリ単位で、アクセス制限やユーザー認証などを設定できる特殊なファイルです。

当サービスでは.htaccessを使用することができますが、サーバーパネルの各種設定も.htaccessに保存しています。

ホームページの更新やプログラム側の処理などで、.htaccessの削除や上書きが行われることがありますので、 .htaccessを直接編集する場合だけでなく、上記のような操作を行われる場合も十分にご注意くださいますようお願いします。

参照:エックスサーバー マニュアル サーバーについて .htaccess

超重要なファイルで記述をミスる大変なことになるので取扱いは厳重注意ということです。

僕はFTPからローカルにダウンロードしてテキストエディタで編集してサーバーにアップロードして上書きしました。するとどうしたことか「500 Internal Server Error」が発生。何のことか解らずパルプンテ。

よくよく読んでみると先ほど編集した.htaccessファイルが原因なもよう。CGIやらPHPは一切編集していないため原因はすぐに判明しました。

まず始めにやったこと

.htaccessファイルにテキストを1行追記しただけなので、その行を削除して再アップロードしました。が一向に500 Internal Server Errorのまま。

追加したテキストが間違っていたからエラーになったんじゃないのか?と疑問になりググって解決策を模索しましたが難しく解らずじまい。

致命的ミスが.htaccessファイルのバックアップをとっていなかったこと!

僕はFTPからローカルにダウンロードしてテキストエディタで編集してサーバーにアップロードして上書きしました。

元ファイルを編集して上書きとか自分のことながら最悪ですwブログが復帰できたので笑いごとですが

.htaccessファイルは重要なファイルなので編集するさい必ずバックアップをとりましょう!

僕なりの改善策

ここまできたらWordPressに必要な記述だけにして初期化状態にしようと思い、ごちゃごちゃ書いてある.htaccessを下記のみにしました。

suPHP_ConfigPath /home/[サーバID]/[ドメイン]/xserver_php/
AddHandler x-httpd-php5.3 .php .phps
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

これでアップロードすると見事エラー解除されWordPress復活することができました!

のぶ的まとめ

.htaccessの取扱いは要注意。必ずバックアップを取りましょう!こんなミスは僕だけでいいのですw

エックスサーバーの方ならこの記事のWordPressのみ記述の.htaccessに書き換えてエラー解除してください!

参考:XSERVERで.htaccessの設定をヘマしブログ全体エラーで顔面蒼白になった経緯と解決方法