ロリポップのサブ・ドメインでWWW無しをWWW付に.htaccessで統一する

この記事は次のブログに引っ越しました。

ロリポップ.htaccessでwwwのサブドメインなしを、www付きに転送する方法 下記3行をルートの.htaccessに記述します。yourdomain.com -> www.yourdomain.comに転送 RewriteEngine on RewriteCond %{HTTP_HOST} ^(yourdomain\.com)(:80)? RewriteRule ^(.*) http://www.yourdomain.com/$1 [R=301,L] ※2行目の、.com直前の¥マークに注意。
※参考資料:Lilipopオフィシャル SEO対策としてindex.html指定とサブドメインを統一する方法 ロリポップ・サーバで、下記のようにサブドメインやindex.htmlの指定があった場合にSEO対策として、というより気持ち悪いので、統一する方法です。http://hoge.com/
http://www.hoge.com/ http://hoge.com/index.html http://www.hoge.com/index.html↓http://hoge.com/ ■具体的な.htaccessの設定 RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.hoge\.com)(:80)? RewriteRule ^(.*) http://hoge.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://hoge.com/ [R=301,L] ※ただし、クエリ付きの場合はこの限りではありません。
※参考資料:www付きドメインとindex.htmlの指定ありのアドレスを統一する方法 備考 ロリポップでは、サブドメインを簡単にディレクトリに割り当てる事ができて、デフォルトで"www"がルートディレクトリに割り当てられています。しかし、"*"(アスタリスク)がサブドメインとして登録できないため、サブドメイン無しだとルートにアクセスされてしまいます。問題ないと言えば問題ないかもしれませんが、アクセス・ログの集計や、"www"を別のディレクトリに割り当ててたり、セキュリティ対策(?)としてルートにアクセスさせたくない場合などに、この動作はいささか困ってしまいます。ロリポップ.htaccessでは"Rewrite"が使えるので、上記の設定によりサブドメインが無い場合でもサブドメイン付きに書き換えて転送してくれるので、ちょっとメモを残しておきます。余談ですが、 http://yourdomain.com/www/index.htmlと、サブドメイン用のディレクトリへの直接アクセス対策にも利用できます。