将所有虚拟主机裸域redirect到www站点

我的Apache服务器有许多VirtualHosts ,我想有一个规则,将所有的裸域redirectwww域。 这可能吗?

基于另一个答案,我能够通过在文件的底部创build一个全面的VirtualHost来将其redirect到一个命名的www主机

 <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] 
  1. RewriteCond匹配任何不以www.开头的HTTP_HOST www.
  2. RewriteRule prepends www.RewriteCond (%1)的反向引用,然后追加任何实际的请求与反向引用的RewriteRule匹配string