リダイレクトループは、ウェブサイトへのアクセス時に別のページへの自動転送が繰り返され、目的のページが表示されない状態を指します。その主な原因は、サーバー側の設定ミスやプラグインの不具合、SSLの設定ミス、ブラウザのキャッシュやCookieの古い情報などです。
リダイレクトループが発生した場合、ブラウザにエラーメッセージが表示されます。解決方法としては、ブラウザのキャッシュとCookieのクリア、別のブラウザやシークレットモードでのアクセス、WordPressのキャッシュ削除、サーバーのキャッシュ削除などが挙げられます。ただし、.htaccessファイルを編集する場合は十分な注意が必要です。
「リダイレクトが繰り返し行われました」の原因
リダイレクトループとは、ウェブサイトにアクセスした際に別のページへ自動的に転送(リダイレクト)される処理が繰り返し発生し、目的のページが表示されない状態のことを指します。一般的にサーバー側の設定ミスが原因で起こりますが、ブラウザのキャッシュやCookieが影響している場合もあります。
リダイレクトループが発生する原因
- サーバー側の設定ミス(.htaccessファイルやnginx.confの記述ミスなど)
- プラグインやモジュールの不具合
- SSLの設定ミス(httpとhttpsの混在など)
- ブラウザのキャッシュやCookieが古い情報を保持している
ブラウザ上でリダイレクトループが起きた時の表示
リダイレクトループが起きると、ブラウザによって以下のようなエラーメッセージが表示されます。
- 「このページは動作していません」「ERR_TOO_MANY_REDIRECTS」(Google Chrome)
- 「リダイレクトが繰り返し行われました」「このページを表示できませんでした」(Firefox)
- 「ページを表示できません」「リダイレクトが多すぎます」(Microsoft Edge)
「リダイレクトが繰り返し行われました」の解決方法
多くの場合、リダイレクトループはウェブサイト側の問題で発生します。ただし、ブラウザ側に原因がある場合もあるので、ユーザーができる対処法をいくつか紹介します。
ブラウザのキャッシュとCookieのクリア
ブラウザのキャッシュとCookieを削除することで、リダイレクトループが解消される場合があります。手順は以下の通りです。
- ブラウザの設定画面を開く
- プライバシーとセキュリティの項目へ移動
- 閲覧履歴データの削除を選択
- 「Cookieと他のサイトデータ」にチェックを入れて削除
別のブラウザやシークレットモードでアクセスする
別のブラウザを使ってサイトにアクセスしたり、シークレットモードを利用したりするのも1つの方法です。シークレットモードではブラウザの履歴や cookie などの情報が保存されないため、リダイレクトループを回避できることがあります。
ワードプレスのキャッシュを削除する
ウェブサイトがWordPressで構築されている場合、プラグインやサーバー側でキャッシュ機能を使っていることがあります。キャッシュが原因でリダイレクトループが発生しているなら、ワードプレス側のキャッシュを削除することで問題が解消するかもしれません。
- WordPressの管理画面にログインする
- 使用しているキャッシュプラグイン(W3 Total CacheやWP Super Cacheなど)の設定画面を開く
- キャッシュ削除やキャッシュクリアのオプションを選択する
- 必要に応じてブラウザのキャッシュも合わせてクリアする
キャッシュプラグインを使用していない場合でも、.htaccessファイルに直接キャッシュ関連の記述がされていることがあります。この場合はFTPなどでサーバーにアクセスし、.htaccessファイル内のキャッシュ関連の記述を削除もしくはコメントアウトしましょう。
ワードプレス側のキャッシュが原因でリダイレクトループが起きているケースは意外と多いので、上記の方法を試してみる価値はあります。ただし、.htaccessファイルを編集する場合は十分に注意が必要です。バックアップを取った上で慎重に作業を行いましょう。
サーバーのキャッシュを削除する
ブラウザのキャッシュ、ワードプレスのキャッシュを削除してもサイトや一部のページが表示されない場合はサーバーのキャッシュを削除すると修復できることがあります。
- サーバーにログインする
- キャッシュ項目を開く
- キャッシュ削除を選択