各種リダイレクト方法

LastModified
Category web

概要

.htaccess,html,javascript,nginxでのリダイレクト方法

htaccessによるリダイレクト(Apache)

参考

https://httpd.apache.org/docs/2.4/ja/mod/mod_alias.html#redirect
https://httpd.apache.org/docs/2.4/ja/mod/mod_rewrite.html

実装方法

.htaccess ファイルに記載する

htaccessでのリダイレクトには2種類あり、Redirect ディレクティブを利用するものと、
拡張機能 mod_rewrite を利用したものがある。

「RewriteEngine on」と掛かれている方が mod_rewrite になる。
基本的にはmod_rewriteを使用するとよい。

301リダイレクト(一時的な転送)


RewriteEngine on
RewriteRule ^old.html$ http://www.example.com/new.html [L,R=302] 

Redirect /old.html http://www.example.com/new.html

302リダイレクト(恒久的な転送)


RewriteEngine on
RewriteRule ^old.html$ http://www.example.com/new.html [L,R=301] 

Redirect permanent /old.html http://www.example.com/new.html

nginxのリダイレクト

参考

https://nginx.org/en/docs/http/converting_rewrite_rules.html

実装

設定ファイル(/etc/nginx/nginx.confなど)の
server、location、ifディレクティブ内に記載する


rewrite ^/old.html$ http://www.example.com/new.html permanent;

javascriptによるリダイレクト

headタグ内に記載する


<script>
    location.href = "http://example.com";
</script>

HTMLによるリダイレクト

headタグ内に記載する

0秒後にリダイレクト


<meta http-equiv="refresh" content="0;URL='http://www.example.com/'" />

5秒後にリダイレクト


<meta http-equiv="refresh" content="5;URL='http://www.example.com/'" />