.htaccessでサイトのリダイレクト。サブディレクトリからドメインに301リダイレクトさせる
WordPressでサイト引っ越しなどで、ドメイン変更によりリダイレクトすることがあります。
.htaccessでサイトのリダイレクトする方法の備忘録です。
サブディレクトリからドメインに301リダイレクトさせる
サイトの引っ越しで、サブディレクトリから移行先のドメインへサイトをごっそりリダイレクトする方法です。
たとえば、www.xxxxx.com/blog のサイトを yyyyy.com へリダイレクトする場合です。
今回はXServerからMIxHostへ移転しました。
ググってもこれといった情報がなかったのですが、以下の方法で、正常に動作しました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^xxxxx.com [NC]
RewriteRule ^(.*)$ http://www.xxxxx.com$1 [L,R=301]
RedirectMatch 301 ^/blog/(.*)$ http://yyyyy.com/$1
</IfModule>
HTTPSページにリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
mixhostの初期ドメイン
mixhostの初期ドメインを独自ドメインへのリダイレクトを追加したものです。
mixhostでは独自ドメインを追加すると、初期ドメインのサブドメインとしても強制的に登録され両方のURLでアクセスできます。SEO的にもよくないので、初期ドメインから独自ドメインへリダイレクトするようにします。
例)初期ドメインを xxxxx.mixh.jp
、独自ドメインを yyyyy.com
としています。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?[^.]+\.xxxxx\.mixh\.jp$ [NC]
RewriteRule .* https://yyyyy.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>