Это не будет работать с поддоменами.
domain.com правильно перенаправляется на www.domain.com
, но
images.domain.com перенаправляется наwww.images.domain.com
Вместо того, чтобы проверять, не является ли поддомен «не www», проверьте наличие двух точек:
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]