Webのきほん

サイトにリダイレクトエラーが! 「ERR_TOO_MANY_REDIRECTS」の 原因と直し方

サイトにリダイレクトエラーが!
「ERR_TOO_MANY_REDIRECTS」の
原因と直し方

「サイトを開こうとすると『このページにアクセスできません』とエラーになる」「ERR_TOO_MANY_REDIRECTSって何?どう直せばいいの?」と困っていませんか?

この記事では、リダイレクトエラーが起きる仕組みと、SSL設定・.htaccess・WordPress設定・キャッシュなど原因別の解決方法をわかりやすく解説します。

目次

pr
pr01

ERR_TOO_MANY_REDIRECTSとはどんなエラーか

ERR_TOO_MANY_REDIRECTSとは、サイトが「AページはBページへ、BページはAページへ」と互いにリダイレクトし続けるリダイレクトループが発生したときに表示されるエラーです。

ブラウザ側で「ループを検出した」と判断して表示を止めるため、ユーザーはサイトにアクセスできなくなります。

SSL化(HTTPSへの切り替え)後や、WordPressの設定変更後に起きやすいトラブルです。


主な原因と解決方法

原因1: SSL設定とWordPressのURL設定が競合している

HTTPSに対応した後、WordPressの設定やサーバー側のリダイレクト設定が二重になって、ループが発生するケースです。

確認ポイント

WordPressの管理画面にアクセスできる場合:

  1. 「設定」→「一般」を開く
  2. 「WordPressアドレス(URL)」と「サイトアドレス(URL)」が両方 https:// で始まっているか確認
  3. http:// になっていれば https:// に変更して保存

管理画面にアクセスできない場合は、wp-config.php に以下を追記することで一時的に直接設定できます。

define('WP_HOME', 'https://your-domain.com');
define('WP_SITEURL', 'https://your-domain.com');

原因2: .htaccessのリダイレクト設定が重複している

.htaccess ファイル内に、HTTPからHTTPSへのリダイレクトと、別のリダイレクト設定が重複していることでループが起きます。

FTPまたはサーバーのファイルマネージャーで .htaccess を開き、リダイレクト関連の記述を確認してください。WordPressが自動生成する基本的な記述以外に重複した設定がないかを見ていきます。

WordPress標準の.htaccess記述(余分なリダイレクトがないか確認)

# 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

HTTPSリダイレクトをサーバーの設定パネル側でも行っている場合、.htaccess と二重になりやすいので注意が必要です。

原因3: キャッシュが古いリダイレクト情報を保持している

ブラウザやWordPressのキャッシュプラグインが古いリダイレクト情報を保持していることで、ループが続くケースがあります。

試してほしい対処手順:

  1. ブラウザのキャッシュとCookieを削除してから再アクセス
  2. WordPressのキャッシュプラグイン(W3 Total CacheやWP Super Cacheなど)のキャッシュをクリア
  3. CDN(コンテンツ配信ネットワーク)を使用している場合はCDN側のキャッシュもクリア

意外とキャッシュのクリアだけで解決するケースもあります。まず最初に試してみると良いでしょう。

原因4: プラグインやテーマが原因のケース

リダイレクトを制御するプラグイン(Redirection、Yoast SEOなど)が原因でループが起きることがあります。

FTPでプラグインフォルダを一時的に無効化(フォルダ名を変更)して、エラーが解消するか確認してみてください。


アクセスはできているのにループしている場合

特定のページだけでエラーが起きる場合は、そのページに設定されたリダイレクトルールが問題です。WordPressの「Redirection」プラグインや.htaccess内の個別ルールを確認します。


まとめ

ERR_TOO_MANY_REDIRECTSが表示されたら、以下の順で確認してみてください。

  1. まずブラウザのキャッシュをクリアして再アクセス
  2. WordPressのURL設定(HTTPSになっているか)を確認
  3. .htaccessのリダイレクト記述が重複していないか確認
  4. キャッシュプラグインのキャッシュをクリア
  5. プラグインを一時的に無効化して原因を特定

SSL化のタイミングで起きることが多いトラブルなので、HTTPS移行後はこの点を意識しておくと安心です。

連載
Webのトラブル
トピック
よくあるトラブル
author
author
くぼ よしゆき
北海道厚岸町生まれ。宮城県仙台市在住。弘前大学大学院理工学研究科(博士前期課程)修了。Web制作会社 → デザイン会社 → 1616。プランニングから撮影、デザイン、コーディング、CMS導入まで幅広く活動的な感じみたいな。
pr
pr01