Полагаю, проблема в том, что в вашем шаблоне RewriteCond
есть дополнительный ]
и что при ссылке на HTTP_HOST в замене RewriteRule
отсутствует %
. Так что попробуйте:
RewriteCond %{HTTP_HOST} ^([0-9a-z-]+)\.([0-9a-z-]+)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
И, чтобы немного затронуть проблемы Кэгса, вы также можете попробовать это правило:
RewriteCond %{HTTP_HOST} ^[^./]+\.[^./]+$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([^./]+)\.[^./]+\.[^./]+$ [NC]
RewriteCond %1 !=www [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]