【サーバー】「.htaccess」を使ってリダイレクトする方法
apacheサーバーで「.htaccess」を使ったリダイレクトの方法を説明します。
リダイレクトの方法には、PHPでのリダイレクトの方法、メタタグでのリダイレクトの方法がありますが、特別な理由がない限りapacheの「.htaccess」を使ってリダイレクトする方法が一番良いです。
.htaccessへの記述
設定はとても簡単で、「.htaccess」ファイルに以下を記述するだけです。
Redirect [オプション] [リダイレクトをかけたいページのパス] [リダイレクト先のURL]
オプションは主に「permanent」と「temp」があります。
- permanent
「永久的な」という意味があるとおり、永久的なリダイレクト(301)の場合に使います。 - temp
「一時的な」という意味があるとおり、一時的なリダイレクト(302)の場合に使います。
「http://△△△.com/test/hoge.html」というページを「http://○○○.com/test/hoge.html」に永久的にリダイレクト(301リダイレクト)をかけたい場合は下のようにします。
Redirect permanent /test/hoge.html http://○○○.com/test/hoge.html
あるディレクトリ(ここでは「test」ディレクトリ)以下すべてのファイルをリダイレクトする場合、以下のようにします。
Redirect permanent /test/ http://○○○.com/test/
こうすることで、「http://△△△.com/test/piyo.html」というページは「http://○○○.com/test/piyo.html」にリダイレクトされます。
ドメインを変更した場合は、以下のようにします。
Redirect permanent / http://○○○.com/
こうすることで、「http://△△△.com/sample/hogera.html」というページは「http://○○○.com/sample/hogera.html」にリダイレクトされます。
別の方法
上記の方法以外にも、下記の方法でもリダイレクトができます。
RewriteEngine On
RewriteCond %{http_host} ^△△△.com
RewriteRule ^(.*)$ http://○○○.com/$1 [R=301,L]
これは、旧ドメインのすべてのページを、新ドメインへ301リダイレクトをかけています。
「http://△△△.com/sample/hogera.html」は「http://○○○.com/sample/hogera.html」にリダイレクトされます。
個別ページをリダイレクト指せる場合は以下です。
RewriteEngine On
RewriteRule ^hoge\.html$ http://○○○.com/ [R=301,L]
これは、「hoge.html」を「http://○○○.com/」に301リダイレクトしています。
あわせて読んでほしい!
コメント
まだコメントはありません。