(Apache)複数ドメインで運用しているサイトを単一ドメインになるようリダイレクト
何やら多忙すぎて1ヶ月以上更新が滞ってしまいました。。。
Webサイトの一部を別ドメインに移したためリダイレクトさせてみたで mod_rewrite を使ったリダイレクトを書きました。
今回もそれに関連のある話ですが、あるWebサイトが hoge.jp , www.hoge.jp hoge.com どれでもアクセス可とします。
(DNSサーバの設定で同一サーバを見るようしています。VirtualHostは使っていません。)
これを www.hoge.jp でアクセスするように統一という話が出てきました。
調査すると、.htaccess - Rewriteにどんぴしゃな答えがありました。
Mod-Rewrite のリダイレクトを使って、下記のようにするとこれを実現できます。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? [NC,OR]
RewriteCond %{HTTP_HOST} ^(hoge\.com)(:80)? [NC]
RewriteRule ^(.*) http://www.hoge.jp/$1 [R=301,L]
RewriteCond で条件を指定できるようです。
HTTP_HOST 変数にどのドメインでアクセスしてきたかの情報が入っているようですね。
複数条件も指定できるようで、今回はORを指定しています。
ちなみに、mod_rewriteを使うディレクトリでは「Options FollowSymLinks」を指定しないとエラーになるケースがあるので注意しましょう
参考:
RewriteCond - RewriteRuleの条件を設定