お名前.comのレンタルサーバーで、ワードプレスがリダイレクトエラーになる
この記事内で紹介する商品等のリンクには、アフィリエイトシステムが使用されています。記事内のリンクを経由して商品が購入されることで、僕に収益が入ることがあります。
ただし、メーカーから商品を提供されたり、報酬を得て記事を書くことはありません。実際に使用した商品を公平な立場でレビューしております。詳しくは、「このサイトのこと」をお読みください。
最近の仕事で、またはまりまして、けっこう悩んだので備忘録として残します。
今回、初めて「お名前.com」のレンタルサーバーをさわったのですが、ワードプレスのローカル環境からサーバーへの移行で、リダイレクトエラーに悩まされ、苦労しました。
僕のワードプレスのサーバー構築手順
僕は、ワードプレスをサーバーに構築する際、サーバー側で用意されているワードプレスは使いません。
ローカル環境で作成した、データベースをエクスポートして、そのSQLデータをサーバー側のデータベースにインストールします。
それから、ワードプレスのwp-config.phpの、サーバーやパスワードなどの情報を、ローカルからサーバー側の設定に書き換えます。また、URLをローカル環境のものから、サーバーの本URLに書き換える設定を加えます。そして、ワードプレスのディレクトリをそのままサーバーにまるごとアップして完了。
普通これだけで、すぐに移行が完了し、あとは管理画面にログインした後、「パーマリンク設定」を「更新」すればオーケーなはずなのですが、なぜか、エラーが出て管理画面が表示されません。当然、管理画面以外のページも表示されず。
リダイレクトエラーで、管理画面に入れない
エラーは、リダイレクトエラー。わからん。そこから、えんえん悩むことになります。ネット上にはあまり情報もなく。
リダイレクトエラーがでることから、おそらくSSL関係であることは、なんとなくわかり…。wp-config.phpで書き換えるサイトURLを、httpsからhttpに変更してみたところ、cssは効いていないものの管理ページは表示されたので、ますますSSLが怪しいなと。
ちなみに、お名前.comの管理ページで、すでにドメインの無料SSL設定は完了しています。静的ページが動作することも確認済みでした。
以下のコードを加えることで、ついに解決
下記の記事からヒントをもらい、以下のコードをwp-config.php内の、wp-settings.php が読み込まれる前の位置に追加することで、ついに解決しました。ありがとうございます!感謝です。
$_SERVER['HTTPS'] = 'on';
出典:https://kantaro-cgi.com/blog/wordpress/force_https_mode.html
原因をもう少し探ってみた
でも、なんとなく原因がわからなくてモヤモヤするので、もう少し調べました。そして以下の記事にたどりつきました。
出典:https://www.ii-sys.jp/notes/2363
この記事の中では、いったん「お名前.com」で構築される既存のワードプレス内のwp-config.phpを参照することが勧められていて、なるほど…と。
それで、いったんサーバー側で用意されているワードプレスをインストールしてみて、wp-config.phpをダウンロードして見てみると、微妙にデフォルトのwp-config.phpの内容に追加されている部分があるんです。
その中には、上記のコードも含まれていました。そのため、最終的には、その追加されている部分を、オリジナルのwp-config.phpに追加することで、解決しました。
お名前.comのレンタルサーバーへの、ワードプレス構築(ローカル環境からの移行)時に、リダイレクトエラーに悩まされている方は、ぜひ一度お試しください。(自己責任でお願いします。w)