Parece que sua configuração pretende remover as solicitações www
de localhost
, se eu entender isso, certo? Essa parte não deve ser necessária, então deixe-me saber se estou perdendo alguma coisa.
Que tal algo como isto:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^localhost$ [NC]
RewriteCond %{HTTP_HOST} !^www\..*$ [NC]
RewriteCond %{HTTP_HOST} ^(.+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]