VirtualDocumentRoot,但自动从example.com或example.com.auredirect到www.example.com和www.example.com.au

我在我的http.conf中有以下设置:

<VirtualHost *:80> UseCanonicalName Off VirtualDocumentRoot "/var/www/sites/%0/_site" </VirtualHost> 

这一切都很好(我有/var/www/sites/www.example1.com/_site,/var/www/sites/www.example2.com.au/_site等)。 添加一个网站就像添加一个目录一样简单!

不过,我现在想要确保不pipe域名被称为什么,如果用户转到example1.com ,她将被HTTPredirect到www.example1.com

有没有简单的方法来做到这一点,而不会失去上述的简洁性? 我有大约84个主机,并试图优化我的httpd.conf … Merc。

最简单的方法是简单地为裸露的域名创build相应的目录,然后用个性化的.htaccess文件redirect。 我通常很不愿意启用.htaccess文件,但这可能是一个很好的用例。 如果你还没有允许他们,下面将设置以有限的方式使用它们的权限:

 <Directory /var/www/sites/*/_site/> AllowOverride FileInfo </Directory> 

然后在每个目录中为裸露域名的.htaccess文件提供以下内容:

 Redirect permanent / http://www.example.com