.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へリダイレクトされます。
サンプルコード:
[code language=”shell”]
Redirect permanent /test/ http://cyborg-ninja.com/htaccess/
[/code]
具体的な動きは、
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リダイレクトで飛ぶようになります。
サンプルコード:
[code language=”shell”]
RedirectMatch 301 .* http://cyborg-ninja.com/
[/code]
具体的な動きは、
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
などとします。
サンプルコード:
[code language=”shell”]
RedirectMatch (.*)\.gif$ http://cyborg-ninja.com$1.jpg
[/code]
具体的な動きは、
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ノウハウのつぼ