⚠️ このような症状が出ていませんか?

リダイレクトループとは

リダイレクトループとは、ページAからページBへリダイレクトし、そのページBからまたページAへリダイレクトされる、という無限ループ状態です。

よくあるパターン

主な原因

1. WordPress設定URLの不一致

「設定」→「一般」のWordPressアドレスとサイトアドレスが、実際のURL(httpかhttpsか、wwwありかなしか)と一致していない。

2. .htaccessのリダイレクト設定の競合

.htaccessに複数のリダイレクトルールがあり、お互いに競合している。

3. プラグインのリダイレクト設定

Really Simple SSL、Redirectionなどのプラグインの設定が不適切。

4. CloudflareなどCDNのSSL設定

CloudflareのSSL設定が「柔軟」になっていて、サーバー側のSSL設定と競合している。

5. ブラウザのCookie破損

ブラウザに保存されているCookieが破損している。

解決方法(優先度順)

ブラウザのCookieとキャッシュをクリア

最も簡単で最初に試すべき方法です。

Chromeの場合:
  1. Ctrl+Shift+Delete(Mac: Cmd+Shift+Delete)
  2. 「Cookieと他のサイトデータ」にチェック
  3. 「キャッシュされた画像とファイル」にチェック
  4. 期間を「全期間」に設定
  5. 「データを削除」をクリック
シークレットモードで確認:シークレットモード(プライベートブラウジング)でアクセスしてみてください。ここでアクセスできればCookieの問題です。

wp-config.phpでURLを強制設定

管理画面にアクセスできない場合の確実な方法です。

手順:
  1. FTPでwp-config.phpをダウンロード
  2. 「/* 編集が必要なのはここまでです ! 」の直前に追加:
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
  1. example.comを自分のドメインに変更
  2. 保存してアップロード
  3. サイトにアクセス
重要:SSL証明書がない場合は「https://」ではなく「http://」にしてください。

.htaccessの設定を確認・修正

重複したリダイレクト設定を削除します。

手順:
  1. FTPで.htaccessをダウンロード(バックアップ)
  2. .htaccessの内容を確認
  3. リダイレクト関連の記述が重複していないか確認
  4. 重複がある場合は1つだけ残して削除
  5. 正しいリダイレクト設定:

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

プラグインを無効化

リダイレクト系プラグインが原因かを確認します。

手順:
  1. FTPで /wp-content/plugins/ を開く
  2. pluginsフォルダ名を「plugins_old」に変更
  3. サイトにアクセス
  4. 解決すれば、プラグインが原因
  5. フォルダ名を戻して、プラグインを一つずつ有効化
特に確認すべきプラグイン:
  • Really Simple SSL
  • Redirection
  • Yoast SEO(リダイレクト機能)
  • SiteGuard WP Plugin
  • WP Force SSL

データベースのURL設定を直接修正

phpMyAdminから直接URL設定を変更します。

手順:
  1. phpMyAdminを開く
  2. 該当データベースを選択
  3. wp_optionsテーブルを開く
  4. option_nameが「siteurl」の行を探す
  5. option_valueを正しいURL(https://example.com)に変更
  6. 同様に「home」も変更

Cloudflare設定を確認(使用している場合)

CloudflareのSSL設定が原因の場合があります。

手順:
  1. Cloudflareダッシュボードにログイン
  2. 該当ドメインを選択
  3. 「SSL/TLS」→「概要」を開く
  4. SSL/TLS暗号化モードを確認
  5. 「柔軟」になっている場合は「フル」または「フル(厳密)」に変更
Cloudflareの設定:
  • 柔軟:リダイレクトループの原因になる
  • フル:推奨設定
  • フル(厳密):最も安全だが有効なSSL証明書が必要

サーバーのSSL強制設定を確認

レンタルサーバー側の設定を確認します。

手順:
  1. レンタルサーバーの管理画面にログイン
  2. SSL設定を開く
  3. 「常時SSL化」または「HTTPS強制」の設定を確認
  4. .htaccessでもリダイレクトしている場合は、どちらか一方を無効化

テーマをデフォルトに変更

テーマが原因かを確認します。

手順:
  1. FTPで /wp-content/themes/ を開く
  2. 現在使用中のテーマフォルダ名を変更
  3. WordPressが自動的にデフォルトテーマに切り替わる
  4. サイトにアクセスして確認

特定のケースの対処法

管理画面だけリダイレクトループする

カスタムログインURLプラグイン(SiteGuard WP Pluginなど)が原因の可能性があります。

特定のページだけリダイレクトループする

そのページ固有のリダイレクト設定がある可能性があります。

SSL化後に発生した

最も多いパターンです。

予防策

1. URL変更時は慎重に

2. SSL化は正しい手順で

  1. SSL証明書のインストール
  2. WordPress設定のURL変更
  3. .htaccessでリダイレクト設定
  4. この順番を守る

3. リダイレクト設定は一箇所で管理

4. 設定変更後は必ず確認

よくある質問

Q1. Cookie削除しても解決しません

A. Cookie以外の原因(WordPress設定や.htaccess)です。wp-config.phpでURLを強制設定する方法を試してください。

Q2. 管理画面だけリダイレクトループします

A. ログインURLを変更するプラグイン(SiteGuardなど)が原因の可能性があります。FTPでプラグインを無効化してください。

Q3. SSL化後に発生しました

A. WordPress設定のURLがhttpsになっているか、.htaccessのリダイレクト設定が正しいか確認してください。Cloudflare使用時はSSL設定を「フル」にしてください。

Q4. すべて試しても解決しません

A. サーバー側の設定問題の可能性があります。レンタルサーバーのサポートに連絡して、SSL設定やリダイレクト設定を確認してもらってください。

まとめ

リダイレクトループ解決チェックリスト

  1. ✓ ブラウザのCookieとキャッシュをクリア
  2. ✓ wp-config.phpでURLを強制設定
  3. ✓ .htaccessのリダイレクト設定を確認
  4. ✓ プラグインを無効化して確認
  5. ✓ データベースのURL設定を確認
  6. ✓ Cloudflare使用時はSSL設定を「フル」に
  7. ✓ 解決後、リダイレクト設定は一箇所で管理

関連ページ