サブドメインの変更

投稿者: | 2016年12月28日

WEBサイトのサブドメインを変更したい場合、DNSの設定を変更するだけで完了します。
しかし、検索エンジンや被リンクのキャッシュから変更前のドメインでWEBサイトにアクセスされる場合もあります。
これらに対応するため変更前のドメインから変更後のドメインにリダイレクトできるようにする必要があります。
今回はApacheを使用して行います。
下記の例は「www.nekono.tokyo」から「protocol.nekono.tokyo」に変更したものになります。
まずは変更前と変更後のドメインについてルートディレクトリを設定します。

$ vi /etc/httpd/conf/httpd.conf
# Ensure that Apache listens on port 80
Listen 80
NameVirtualhost *:443
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.nekono.tokyo
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/wordpress
ServerName protocol.nekono.tokyo
</VirtualHost>
$ vi /var/www/html/.htaccess

続いてリダイレクト用の.htaccessファイルを配置します。
なお、.htaccessファイルはセキュリティ面でリスクがあるので扱い(適切なパーミッションを付ける等)には注意してください。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.nekono\.tokyo)(:80)? [NC]
RewriteRule ^(.*) http://protocol.nekono.tokyo/$1 [R=301,L]

これで古いドメインにアクセスされた場合に新しいドメインに切り替えることができます。
また、レスポンスコード301でリダイレクトすることで検索エンジンにWEBサイトの変更を伝えることができます。
実際に3日くらいするとGoogleの検索結果に新しいドメインが出るようになりました。
20170103-144854

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA