WEBサイトを運営しているとドメインが変えなくてはならないときがあったりします。
コンテンツはパスを含めて全部移行しても、古いURLでアクセスしてきたユーザをきちんと誘導することをしなければ片手落ちです。なので簡単にその方法をまとめてみます。
一般的な方法
一般的には、旧サーバの.htaccessで次のような設定をします。
.htaccess
RedirectMatch permanent (.*) http://newserver.com$1
PHPを使った方法
何らかの理由で上の RedirectMatchが使えないときは、下のような方法も取ることができます。
旧サーバでmod_rewirteで index.php を動かして、REQUEST_URI に応じてリダイレクトする方法です。
.htaccessはこんなかんじです。
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php [QSA,L]
phpはこんなかんじです。headerで3つ目の引数にHTTPステータス 301(Moved Permanently)を指定しています。
index.php
<?php
$url = 'http://newserver.com' . $_SERVER['REQUEST_URI'];
header('Location:' . $url, true, 301);
phpで書いておけばこれ以外の処理が必要だったりした時も簡単に拡張できるのでもしかしたら結構いいかもしれません。