たとえば、私のドメインがhttp://www.domain.comで、www のない URL ( http://domain.com )にリダイレクトしたいとします。そのために、.htaccess でこのコードを使用しました。
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
http://www.domain.comはhttp://domain.comにリダイレクトされます。
これで、サブドメインhttp://www.blog.domain.com (public_html/blog) が www なしの URL http://blog.domain.comにリダイレクトされ、このコードが使用されました。
RewriteCond %{HTTP_HOST} !^blog\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://blog.domain.com$1 [R=301,L]
ただし、サブドメインの URL で www が削除されていません。ここで何が間違っていますか?
更新: 私のホスティング プロバイダーは hostgator です