Основываясь на другом ответе, я смог заставить его работать, создав универсальный VirtualHost
в нижней части файла, который перенаправляет запрос на именованный www
host
<VirtualHost *:80>
ServerName default
ServerAlias *
<IfModule mod_rewrite.c>
RewriteEngine on
# WITH 'www.'
RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [redirect=permanent,nocase,last]
</IfModule>
</VirtualHost>
Примерно так должно работать:
RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
RewriteRule ^/(.*)$ http://www.%1/$1 [redirect=permanent,nocase,last]
RewriteCond
соответствует любому HTTP_HOST, который НЕ начинается с www.
RewriteRule
] предшествует www.
на обратную ссылку на RewriteCond
(% 1) затем добавляет то, что было фактическим запросом, с обратной ссылкой на строку соответствия RewriteRule