.htaccessを使ってリダイレクトする

.htaccessを使ってリダイレクトする

サイトの移転時に、
「301リダイレクト」
という手法を使います。

.htaccessというファイルにリダイレクトの処理を記載するわけです。

FTPの移転させたいディレクトリに、「.htaccess」というテキストファイルを設置すればOKです。
(ドットで始まるファイルだからWindows上では作れません&拡張子は不要です)

そしてそのリダイレクト形式は、大体以下の3種類のどれかかと思います。

1.URLの一部を書き換えた形でリダイレクトする
2.URLがなにであろうとサイトトップへリダイレクトする
3.拡張子だけ変更する

ひとつひとつ解説&ソースコードを紹介しようと思います。

1.URLの一部を書き換えた形でリダイレクトする
ディレクトリ構造は変更がなく移転する処理に使います。

Redirect permanent /test/ http://www.shtml.jp/htaccess/
とすれば、http://www.shtml.jp/test/以下にあるファイルへのアクセスがあった場合には、リダイレクトされます。例えば、 http://www.shtml.jp/test/basic.htmlへのアクセスは、http://www.shtml.jp/htaccess /basic.htmlへリダイレクトされます。

サンプルコード:

Redirect permanent /test/ http://cyborg-ninja.com/htaccess/

具体的な動きは、
http://www.設置したサイト.com/test/ にアクセスすると http://cyborg-ninja.com/htaccess/ へ。
http://www.設置したサイト.com/test/aaaaa.html にアクセスすると http://cyborg-ninja.com/htaccess/aaaaa.html へ。
http://www.設置したサイト.com/test/category/category2/bbbbb.html にアクセスすると http://cyborg-ninja.com/htaccess/category/category2/bbbbb.html  へ。

2.URLがなにであろうとサイトトップへリダイレクトする
古い方の全URLを、リダイレクト先のトップページに集約したい場合に使います。

.htaccess に下記のように記述すると良いみたいです。
RedirectMatch 301 .* http://www.web-how.jp/
これで、どのURLにアクセスしてもトップページ(http://www.web-how.jp/)に301リダイレクトで飛ぶようになります。

サンプルコード:

RedirectMatch 301 .* http://cyborg-ninja.com/

具体的な動きは、
http://www.設置したサイト.com/ にアクセスすると http://cyborg-ninja.com/ へ。
http://www.設置したサイト.com/test/aaaaa.html にアクセスすると http://cyborg-ninja.com/ へ。
http://www.設置したサイト.com/test/category/category2/bbbbb.html にアクセスすると http://cyborg-ninja.com/  へ。

※ただし注意点が!
・ドメインが変更になるリダイレクト時に使えます。同ドメインでリダイレクトすると永久ループにハマルので注意

3.拡張子だけ変更する
画像がgifからjpgに変わりました とかの時に使います。

最初の事例で紹介したように、画像ファイルだけを移動させたい場合は、どうすればいいのでしょうか?
ちゃんと、パターンマッチによるリダイレクトも可能になっています。「RedirectMatch」というものを使います。
RedirectMatch (.*)\.gif$ http://www.anotherserver.jp$1.jpg
などとします。

サンプルコード:

RedirectMatch (.*)\.gif$ http://cyborg-ninja.com$1.jpg

具体的な動きは、
http://www.設置したサイト.com/aaaa.gif にアクセスすると http://cyborg-ninja.com/aaaa.jpg へ。
http://www.設置したサイト.com/test/bbbbb.gif にアクセスすると http://cyborg-ninja.com/test/bbbbb.jpg へ。

参考:
.htaccessでリダイレクト機能を利用する方法
.htaccessを使ってトップページ以外のアクセスを全てトップページへ301リダイレクトする方法 Webノウハウのつぼ

機械忍者

某SEO会社(?)勤務。 多分日本語よりHTMLの方が得意です。 最近はRubyとかいうキラキラな言語も勉強中です。 SEOはもう標準スキルになってきてると思うので正直もうあんまり昔ほどの熱意は感じません。 新たに躍動してる人も多いですしね。 だれか強化骨格コスプレあったら教えてください。