所有域的通配符子域

所以我现在(每个领域)是这样的

<VirtualHost *:80> ServerName exmaple.com ServerAlias *.example.com DirectoryIndex index.php index.html VirtualDocumentRoot /srv/www/example.com/public_html/%0 </VirtualHost> 

但我想保存不得不通过做这样的事情复制这个另一个域

 <VirtualHost *:80> ServerName * ServerAlias * DirectoryIndex index.php index.html VirtualDocumentRoot /srv/www/%2+/public_html/%0 </VirtualHost> 

%2 +除了子域外都是。 这甚至可能…

只要你只有单级子域名,那就应该有效。 如果你想通过mod_vhost_alias服务你所有的页面,只要把VirtualDocumentRoot行放在<VirtualHost>指令之外,并且删除所有的<VirtualHost>指令。

您不需要指定通配符ServerName 。 无论如何,它需要一个FQDN,所以你不能使用一个。 与ServerAlias类似,由于VirtualDocumentRoot正在考虑find正确的位置来提供页面,所以不必使用,因为Host:头将被dynamic地处理。

阅读mod_vhost_alias上的文档和dynamicconfiguration的大容量虚拟主机应该有助于清除任何剩余的混淆。