【サーバー】「.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リダイレクトしています。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント