如何将ServerAlias – 请求redirect到ServerName并服从请求中的子目录?

我希望将所有stream量redirect到example.com/* ,以redirect到www.example.com/*

我发现如何将任何ServerAliasredirect到相应的ServerName? 它处理有关的主题,并做了四个upvotes答案build议:

 RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com [nocase] RewriteRule ^(.*)$ http://www.example.com$1 [last,redirect=301] 

不过,这会将stream量redirect到http://example.com/subdirectory不是 http://www.example.com不是 http://www.example.com/subdirectory

在这个问题上的任何药物?

做到这一点的正确方法是创build一个新的虚拟主机和redirect:

 <VirtualHost *:80> ServerName example.com Redirect / http://www.example.com/ </VirtualHost> <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www/something </VirtualHost>