WordPress お名前.comのRSプランに移行したら、常時SSL化でERR_TOO_MANY_REDIRECTS(リダイレクトループ)が発生


お名前.comのオールドなSDプランから、ハイカラなRSプランにWordPressを移行した時のお話。

まずhostsファイルで動作確認できないじゃん。

<問い合わせここから>

現在SDプランでWordPressサイトを運用中ですが、RSプランへ移行作業中です。

WordPressのファイル及びデータベースを手動で移行し、下記の方法でhostsファイルで表示確認行いました。

hostsファイル編集方法
https://help.onamae.com/answer/20182

httpsで管理画面にログインしようとすると、まだRSサーバーにはSSL設定されていないので、下記のエラーが表示されます。

An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.

まだネームサーバーを変更出来ないので、下記のページによるとSSL申込みが出来ません。

【レンタルサーバー RSプラン】 SSLの申し込みができない、利用できない
https://help.onamae.com/answer/20310

そこでWordPressのDB上で https://example.com/ となっている箇所を一時的に http://example.com/ とSSLではない状態にしました。

SSLがない状態で管理画面にログインしようとすると、今度は「エラー: Cookie がブロックされているか、お使いのブラウザーで未対応のようです。」というエラーが出てログイン出来ません。

Cookieを有効にしてもエラーになるので、下記のサイトにあるように、httpsでアクセスできればログインできるかと思います。

【WordPressエラー】 Cookie がブロックされている表示でログインできない時の解決方法

【WordPressエラー】 Cookie がブロックされている表示でログインできない時の解決方法

以上のような状況ですが、WordPressにログインするために何か良い方法はありますでしょうか?

<問い合わせここまで>

<回答ここから>

お問い合わせいただいたところ大変恐縮ではございますが、この度のお問い合わせの解決方法としまして、ネームサーバー情報を変更し、SSLを設定していただくしか方法がない次第でございます。

大変お手数をおかけいたしますが、何とぞよろしくお願い申しあげます。

<回答ここまで>

まじかー、これは不安だー。。

ドキドキしながら、RSプランへネームサーバー切り替えました。

SSLも1時間くらいかかったが設定完了。

まずサイトが崩れた状態で表示、CSSやJSが読み込まれていない様子。

古いBizVectorのテーマを使っていたので、httpがhttpsにちゃんと切り替わっていない様子。

<?php wp_head(); ?>や<?php wp_footer(); ?>から吐き出されるので、下記サイト参考に修正。

[WP]SSL化してもwp_headとwp_footerがhttp://を出力するSSL混在コンテンツの問題について

[WP]SSL化してもwp_headとwp_footerがhttp://を出力するSSL混在コンテンツの問題について

おー、サイトがきれいに表示された!しかし・・・

今度はWP管理画面が開かず、ブラウザに下記のリダイレクトエラーが。

このページは動作していません
shigaisen.com でリダイレクトが繰り返し行われました。
Cookie を消去してみてください.
ERR_TOO_MANY_REDIRECTS

最近の流行りというか、CONOHAサーバーのときも苦労したけど、nginxを使ったサーバーにありがちのご様子。

定番の常時SSLのhtaccessの設定なんかを入れてはいかんのです。

これね、無駄なんです。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

結論としては下記サイトどおり、htaccessへの追記で表示されました。めでたし。

WordPress お名前.comレンタルサーバー内のWPサイト常時SSL化の際、リダイレクトループが発生した場合の対処方
https://analyzegear.co.jp/blog/1577

SetEnvIf X-Forwarded-Proto "https" HTTPS=on
SetEnvIf X-Forwarded-Proto "http$" HTTPS=off

2023年11月13日 wp-config.phpに書き込む方法も見つけたので追記

define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
$_SERVER['HTTPS']='on';
}

ERR_TOO_MANY_REDIRECTSへの対処方法 – WordPressサイトのSSL化によりログイン管理画面にアクセスできない問題の解決


CONOHAサーバーでSSL化する際にwp-config.phpに書かなかればいけないこと


長年WordPressを触ってきましたが、未知との遭遇は未だにあるわけで。。

CONOHAサーバーでSSL化設定にけっこう時間がかかって、イラっとしたのもつかの間、サイトの表示がクシャッとなってCSSなどが読み込まれていない様子。

ソースを見るとSSL化しているのに、<?php echo get_template_directory_uri(); ?>で呼び出している箇所がhttp://になってしまっている。。

下記サイトによると、wp-config.phpに書かなかればいけないことあるらしい。

WordPressで「ERR_TOO_MANY_REDIRECTS」のリダイレクトエラーになったときの対処法

if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") {
$_SERVER['HTTPS'] = 'on';
}

あーでも惜しい、上記サイトにあるように、なんちゃらwp-setting.php の下に書いてはいけません!

「このページにアクセスする権限がありません。」となってしまいます。

こちらが正解、ありがとうございました。m(_ _)m

【WordPress】SSL対応を行った後、管理画面で「このページにアクセスする権限がありません。」が表示された時の対応


【Advanced Custom Fields】値を出力できない時に確認すべきこと


「TOPページなど、テンプレートになっているところも、自分で編集できるようにしたい!」というクライアント様のご要望。

「それでは固定ページに編集できるページを一つ用意しましょう」ということになります。

フィールドタイプを「画像」にして、返り値のフォーマットを「画像URL」にしておけば、下記の指定で簡単に出力できますよ、と多くのサイトで紹介されているので、下記をテンプレートに貼り付け。

<?php the_field(‘フィールド名’); ?>

あれ出ない・・・。画像だけでなく、普通のテキストも出ない。

おっとすぐ忘れちまうぜ、固定ページIDを入れなくては。

管理画面URLが下記のとおりなら、固定ページIDは12345となる。

…/wp-admin/post.php?post=12345&action=edit

<?php the_field(‘フィールド名’, 12345); ?>

めでたし、めでたし。