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の基本的な振る舞いは、以下のドキュメントを読んで確認しました。
コメントを残す