リダイレクトループの原因
リダイレクトは自動的に他のページに転送することで、ページを引っ越しした際やログインを行った後にもとのページに戻る場合などに行われますが、なんらかの原因で次々にリダイレクトが起こってしまい、最終的な行き先がたらい回しにされてしまう状態になってしまった場合を、リダイレクトループと呼びます。
リダイレクトループが発生する原因は以下の5つになります。
- 閲覧者側のブラウザのキャッシュ
- 閲覧者側のブラウザの拡張機能
- 閲覧者側のブラウザのcookie
- サイト運営者側のプラグイン
- サイト運営者側の.htaccessの記述ミス
閲覧者側のリダイレクトループの解決方法
閲覧者側が以下の3つの方法を試しても問題が解決しない場合は、サイト側に問題がある可能性が高く、閲覧者はどうすることもできませんので、サイト管理者に問題があることをお問い合わせ等で伝えることで修正を促すことが最大限できることになります。
閲覧者側のブラウザのキャッシュが原因を解決する方法
ブラウザのキャッシュ機能のおかげで、ウェブサイトの画面表示速度を快適にすることができるのですが、これがたまに悪さをして、サイトの表示がおかしくなったり、ブログの更新が反映されなかったりと色々なトラブルを引き起こす原因となったりします。
その解決方法は以下の2点になります。
- リロード(サイトの更新)を行う:下図のブラウザ左上にある更新ボタンをクリックすることですが、たまにキャッシュを参照する場合があります。
- スーパーリロード(サイトの絶対更新)を行う:SHIFTキーを押しながら更新ボタンをクリックすることですが、ブラウザにキャッシュを利用しないで、サーバーからサイトデータを取ってくるように強制する更新方法ですので、こちらがお薦めです。
閲覧者側のブラウザの拡張機能が原因を解決する方法
原因がChromeの拡張機能にある場合は、シークレットモード(Chromeの拡張機能はすべて無効にした状態でサイトを開くこと)で開くと問題なく表示される場合がありますので、以下の方法でシークレットモードに切り替えてページを開いてみて下さい。
Chromeをシークレットモードで開くには、キーボードでCtrl+Shift+Nを押すと、下図のような黒い画面が出てきますので、リダイレクトを起こしているページのURLをコピペして表示されれば、Chromeの拡張機能に問題があると言う事になります。
Chromeの拡張機能に問題があった場合は、直前に設定した拡張機能をそのまま使い続けるか見直してください。
閲覧者側のブラウザのcookieが原因を解決する方法
今回はChromeの場合のCookieの削除方法を紹介しますが、前項のキャッシュ及び拡張機能の対処を行った後に実施してください。
Cookieは全削除もできますが、リダイレクトループに無関係なサイトのID/Passwordなどの記憶も消えてしまうため、個別に削除するのがよいです。
個別に削除する場合は、下図のCookieを削除したサイトを閲覧中にブラウザのURLの前の「鍵マーク」をクリックします。
情報メニューが表示されますので、「サイトの設定」をクリックします。
「データを削除」をクリックすればCookieの削除は完了となります。なお、スマートフォンの場合はゴミ箱マークをタップします。
サイト運営者側のリダイレクトループの解決方法
サイト運営者側(ブログ作成者+サーバー管理者)が原因の場合は、プラグインが多いですので、最近インストールしたプラグインから手始めに原因探求すると解決が早まります。
サイト運営者側のプラグインが原因を解決する方法
大抵はインストールしているプラグインの設定ミスが原因でリダイレクトループが起こる可能性が非常に多く、その不具合の原因になりやすいプラグインは以下のとおりです。
- Redirection
- WP no category base
- W3 Total Cache
- WP touch
- Custom Permalinks
もし上記のプラグインをインストールしていましたら、そのプラグインを一旦無効にし、レンタルサーバー(下図はConoHaサーバーです)のキャッシュクリアを行った後に、リダイレクトを繰り返すページ表示をしてみてください。表示されましたたら、そのプラグインが原因ですので正しい設定を行ってください。
私の場合は、Redirectionが原因でしたので、正しい値に設定しなおして正常化しましたので、以下のブログを参考にしてください。
サイト運営者側の.htaccessの記述ミスが原因を解決する方法
.htaccessファイルを自分で編集したり、何らかの原因で勝手に書き換えされたりすることが原因で発生する場合があり、その時は、利用しているサーバーの.htaccessファイルを訂正する必要があります。
.htaccessファイルはwebサーバーの基本的な動作を制御するファイルですので、誤って記述してしまうと更にトラブルを悪化させてしまう可能性がありますので、自信のない方はサーバーのサポートサービスに助けてもらいましょう。
まとめ
私もブログが見れなくなった時は、焦ってしまい全てのプラグインを同時に無効かしてしまい、復旧に手間がかかりましたが、原因となったプラグインは最後にインストールした「Redirection」でしたので、障害発生時は一旦深呼吸して落ち着いてから対処するのが大事ですよ!・・・positive smile😊