[WORDPRESS]「500 Internal server error」が出た時の対応方法

広告

WORDPRESSを新規に設定していた途中で、トップページ以外が全て「500 Internal server error」が出ていまいました。ネットを調べて、対応方法をチェック 無事対応できたので、その記録を残しておきます。

インストールフォルダとURLが一致しない時に発生!?

今回は、「演劇感想文リンク」の移行作業中に発生しました。「演劇感想文リンク」は、”https://engeki.kansolink.com/”というURLで、ドメインの”kansolink.com”にサブドメイン”engeki”をつけています。よそのサーバーはどうなのかわかりませんが、私が利用しているX Serverは、kansolink.comのドメインを示すフォルダの配下にengekiというフォルダを作成し、そこにインストールしたWORDPRESSが、engeki.kansolink.comというURLでアクセスできるようになるという仕様です。(サブドメインの設定は別途必要ですが)

まず、サブドメインを設定し、engekiというフォルダを作成の上、X Serverの自動インストールでワードプレスをインストールします。このブログ自身同じ方法でインストールしたので、特にここまでは問題なくインストールできました。

ここで、トップページにアクセスして問題なくアクセスできることを確認し、テーマ等のインストールを開始しました。
しばらくして、実はトップページ以外にアクセスすると「500 internal server error」が発生していることがわかりました。

ネットを検索すると色々な状況でこのエラーが出るようですが、私のパターンは、インストールフォルダとURLの不一致が原因だったようです。

htaccessファイルの内容の不正が原因。修正で対応完了しました。

解決策は、こちらのページに記載がありました。

記事内のサーバーは、ロリポップということで、私の環境と異なっていましたが、インストールフォルダとアクセスするURLが異なるという環境は同じでした。
早速、.htaccessファイルをサーバーからダウンロードし、中身を確認しました。

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

# END WordPress

記事内の以下の文言の通り、4行目、8行目の行が怪しいです

4行目 RewriteBase /xxxx/ ⇒ RewriteBase /

8行目 RewriteRule . /xxxx/index.php [L] ⇒ RewriteRule . /index.php [L]

というわけで、以下のように直しました。

# 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ファイルにアップロードして無事対応しました。

WORDPRESSにおけるhtaccessの基本的な振る舞いは、以下のドキュメントを読んで確認しました。

広告

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です