ひとことで言うと
リダイレクトは、あるURLへのアクセスを受けたとき、自動的に別のURLへ案内し直す仕組みです。
ページを移転したとき、ドメインを変更したとき、http:// を https:// に統一したいときなど、「古い入口に来た人を新しい場所へ連れていく」役割で使われます。
ブラウザには気づかれにくく、URLバーが変わる以外はシームレスに動きます。
たとえ話でもう少し詳しく
リダイレクトは、郵便の転送届に近いです。
- 引っ越し前の住所に届いた郵便を、新しい住所へ自動で回してもらえる
- 差出人は住所を変えなくても、手紙は新しい場所へ届く
- 一時的な転送なのか、恒久的な転送なのかで扱いが違う
Webでも同じです。
http://example.com にアクセスしてきたブラウザへ「本当の場所は https://example.com ですよ」と伝えると、ブラウザは自動で新しいURLへ移動します。
サイトの移転やドメイン変更のときにも同じように使い、古いURLを知っているユーザーやブックマークを新しい場所へ誘導できます。
よく出る場面・使いどころ
http://へのアクセスをhttps://へ統一したいとき- ページのURLを変更したが、古いURLを知っているユーザーへ配慮したいとき
- ドメインを新しいものへ移行したとき
- ログイン前のページへ直接アクセスされたとき、ログイン画面へ誘導したいとき
似た言葉との違い
- URL
- Webページの住所そのもの
- リダイレクトは、あるURLへのアクセスを別のURLへ転送する動作
- HTTP
- ブラウザとサーバーがやりとりするルール
- リダイレクトはHTTPの応答コード(301や302など)で伝えられる
- フォワード(内部転送)
- サーバー側で別の処理へ切り替えるが、URLはブラウザに変わって見えない
- リダイレクトはブラウザへ「新しいURLへ行って」と指示するため、URLバーが変わる
実務で気にするポイント
- 恒久的な移転(301)か一時的な転送(302)かを目的に合わせて選ぶ
- リダイレクトが何段にも重なるとページ表示が遅くなる
- 古いURLのSEO評価を引き継ぎたい場合は301を使う
- ログインが必要なページは、リダイレクト先にもとのURLを持たせてログイン後に戻れるようにする
注意: リダイレクトのループ(AがBへ、BがAへ転送し続ける)が起きると、ブラウザはエラーを表示してページを開けなくなります。設定変更後は必ず動作を確認しましょう。