![]() | この記事は英語版の対応するページを翻訳することにより充実させることができます。(2020年9月) 翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
|
ウェブサイトにおけるリダイレクト(英: redirect)とは、ウェブサイトの閲覧において、指定したウェブページから自動的に他のウェブページに転送されること。URLリダイレクト(URL redirection)とも言われる。
通常はウェブページのURLが変わったときに、元のURLから新しいURLへ誘導するときに用いられる。フィッシング詐欺サイトへの誘導などで用いられている場合もある。
HTTPヘッダにあるHTTPステータスコードにてリダイレクトの種類を伝え、Location:ヘッダで移動先を伝える。種類には301 Moved Permanently(恒久的な移転)や302 Found(発見)などがある。Webサーバの設定ファイル(Apacheの場合、httpd.confファイルや.htaccessファイル)や、CGIなどで指定できる。
HTML文書のhead要素内にmeta要素の http-equiv属性の値に"refresh"を記述する。content属性で文書を読み込んでから何秒後に転送させるかを指定する。HTTPステータスコードはリダイレクトなしで直接アクセスした場合と同様のコードが返される。
<meta http-equiv="Refresh" content="3; url=http://www.example.com/">
と設定すると、3秒後にhttp://www.example.com/
へ自動転送される。JavaScript等のクライアントスクリプトを用いて、自動でページ遷移する処理を記述することで転送をする方法。locationまたはlocation.hrefへの代入などの方法がある[3]。
セキュリティなどの理由でスクリプトの実行を許可していないウェブブラウザでは転送されない。HTTPレスポンスでは、リダイレクトなしで直接アクセスした場合と同様のステータスコードが返されるため検索エンジンなどのクローラに移転したことが伝わらない場合もある。