[WP]このページは動作していません。リダイレクトが繰り返し行われました。の原因と対処法

WordPress
スポンサーリンク

WordPressサイトで「このページは動作していません」「リダイレクトが繰り返し行われました」と表示されたら…。背筋が凍る瞬間ですよね。

Google Chromeでは「ERR_TOO_MANY_REDIRECTS」というエラーコードが表示されます。これは、ブラウザが「A地点に行け」「いやB地点だ」「やっぱりA地点だ」と、サイト内で永久にたらい回しにされている状態を示します。

もちろん、サイトは完全に停止し、訪問者も管理者もアクセスできません。まさにデジタル遭難です。

エラーメッセージに促されて「Cookieを削除」してみても、残念ながらほとんどの場合は解決しないでしょう。

この問題を放置すれば、サイトの信頼は失墜し、ビジネス上の機会損失も計り知れません。一刻も早く、この無限ループ地獄から脱出するための手順を解説します。

【原因1】最重要:「WordPressアドレス」と「サイトアドレス」のURL設定不一致

「ERR_TOO_MANY_REDIRECTS」エラーに遭遇した際、真っ先に疑うべきはWordPress自身が認識している「サイトの住所」のズレです。

特に、サイトのSSL化(http → https)対応、ドメイン変更、サーバー移行といった作業の直後に発生した場合、この可能性が極めて高い。

WordPressは、[設定] [一般] にある「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの重要な住所情報を持っています。

ここが食い違っていると、ブラウザは正しいページにたどり着けず、永久にリダイレクトを繰り返すのです。

  • http:// と https:// が混在していませんか?
  • www. の有無が統一されていますか?

「そもそも管理画面に入れない!」
…ええ、そうですよね。エラーが出ている時は管理画面(ダッシュボード)にすら入れないことがほとんど。

でも、大丈夫。サーバー上の「wp-config.php」ファイルを直接編集し、正しい住所を強制的に上書きしましょう。

FTPソフト(FileZillaなど)でWordPressがインストールされているフォルダ(ルートディレクトリ)にアクセスし、wp-config.php というファイルを見つけます。

このファイルをダウンロードして開き、以下の2行を /* 編集が必要なのはここまでです */ と書かれた行の直前あたりに追記してください。


※https://your-domain.com の部分は、あなたのサイトの正しいURL(httpsやwwwの有無を揃えた状態)に必ず置き換えてください。

ファイルを保存してサーバーに上書きアップロードし直せば、多くの場合、これだけであっさり解決するはずです。

【原因2】プラグインの競合・暴走、または「.htaccess」の記述ミス

URL設定は正しいはず。それでもエラーが消えない。
その場合、次に疑うべきはリダイレクトのルールを管理する「交通整理係」の暴走です。

WEBデザイナーの方がよく利用する機能、具体的には「プラグイン」と「.htaccess ファイル」の2つが怪しい。

①プラグインの競合・設定ミス

非常に便利なプラグインですが、時にエラーの元凶となります。
特に、以下の機能を持つプラグインは要注意です。

  • リダイレクト系(例: Redirection)
  • SSL化補助系(例: Really Simple SSL)
  • セキュリティ系(例: SiteGuard WP Plugin, All In One WP Security)

これらが複数導入されていたり、設定が古かったりすると、「A地点→B地点へ行け」「いや、B地点→A地点へ戻れ」と、互いに矛盾した指示を出し合い、無限ループを引き起こすことがあります。

緊急対処法:プラグインの強制全停止

管理画面に入れないのですから、ここでもFTPソフトの出番です。
サーバーの /wp-content/ フォルダ内にある plugins というフォルダの名前を、一時的に plugins_stop など適当な名前に変更してください。

たったこれだけで、WordPressはプラグインを認識できなくなり、全プラグインが強制的に無効化されます。

この状態でサイトが表示されたら、ビンゴ!
フォルダ名を plugins に戻し、今度は管理画面にログインして、一つずつプラグインを有効化していき、原因となっている「犯人」を特定しましょう。

②.htaccessファイルの記述ミス

.htaccess は、サーバーの動作を細かく制御する重要な設定ファイルです。ここにリダイレクトのルール(常時SSL化やwww統一など)を記述しますが、構文を1文字でも間違えたり、古いルールが残っていたりすると、途端にリダイレクトループが発生します。

WordPressのルートディレクトリにある .htaccess ファイル(※不可視ファイルになっていることが多いので注意)を、まずPCにバックアップ(ダウンロード)してください。

その上で、サーバー上の .htaccess ファイルの中身を、一度WordPressのデフォルト(初期状態)に戻してみるのも強力な解決策です。


※サブディレクトリ型マルチサイトなど、環境によって内容は異なります。

これに置き換えてみてサイトが表示されるなら、原因は .htaccess の記述ミスでした。バックアップしたファイルと見比べながら、問題の箇所を特定してください。

【原因3】上記2つで直らない?ブラウザ・サーバーのキャッシュとCookie削除

上記2つの主要な原因を潰しても改善しない稀なケースでは、エラーメッセージが示す通り「Cookie」や「ブラウザキャッシュ」が悪さをしている可能性もゼロではありません。

  • ブラウザのキャッシュクリアとCookie削除
  • シークレットモード(プライベートウィンドウ)でのアクセス確認

これらを試してみましょう。

また、意外な伏兵がサーバー側のキャッシュです。利用中のレンタルサーバーが提供する高速化機能(NGINXリバースプロキシやCDN設定)や、キャッシュ系プラグイン(WP Rocketなど)を使っている場合、そちらのキャッシュが古いリダイレクト情報を掴んだままになっていることも。

サーバーの管理パネルやプラグインの設定から、キャッシュを強制的にクリア(パージ)する操作も試す価値があります。

【補足】wp-admin/フォルダにinstall.phpが存在しない

WordPress.orgからパッケージをダウンロードしてからインストールする場合は、install.phpが存在しないということはありません。

ではなぜinstall.phpが存在しないかというと、この問題が起こるのは主に他サーバーへのWordPressの移行時であり、移行元のサイトでセキュリティ設定をしてる場合にwp-adminからinstall.phpが消されている可能性があるためです。

移行元のWordPressの設定やファイル構成をしっかり確認しておかないと、サーバーからFTPでファイルの一式をダウンロードしたり、Backwpupなどのプラグインでバックアップしたファイルをダウンロードしてもinstall.phpが入っていないことに気づかないことが多いです。

ということで、リダイレクトループが起こっているサーバーのwp-admin/にinstall.phpをアップロードしてあげることで解決しますので試してみてください。

まとめ

「ERR_TOO_MANY_REDIRECTS」は非常に焦るエラーですが、原因は必ず「URL設定」「プラグイン」「.htaccess」「キャッシュ」「install.php」のどれかに潜んでいます。

落ち着いて、一つずつ切り分けて対処していきましょう。

コメント

タイトルとURLをコピーしました