apache子域configuration

在CentOS下,我似乎在设置apache的子域时遇到了一个小问题。

我有以下几点:

NameVirtualHost *:80 <VirtualHost *> ServerName www.domain.co.uk ServerAlias domain.co.uk dev.domain.co.uk DocumentRoot "/var/www/html/domain/web" DirectoryIndex index.php Alias /sf /var/www/html/symfony14/web/sf <Directory "/var/www/html/domain/web"> AllowOverride All Allow from All </Directory> </VirtualHost> <Directory "/var/www/html/symfony14/web/sf"> AllowOverride All Allow from All </Directory> <VirtualHost *> ServerName test.domain.co.uk DocumentRoot "/var/www/html/domain_test/web" DirectoryIndex index.php Alias /sf /var/www/html/symfony14/web/sf <Directory "/var/www/html/domain_test/web"> AllowOverride All Allow from All </Directory> </VirtualHost> 

所以去www.domain.co.uk和domain.co.uk显示从/ var / www / html /域的内容,但去test.domain.co.uk也显示相同的文件夹内容。

这是因为ServerAlias

谢谢

更新:

增加了缺less的指令NameVirtualHost *:80

尝试把NameVirtualHost *:80作为你的configuration文件中的第一行。

您可以在httpd.conf中通过基于名称的虚拟主机条目来configuration子域。 要使用基于名称的虚拟主机,您必须在将要接受主机请求的服务器上指定IP地址(以及可能的端口)。 这是使用NameVirtualHost指令configuration的。

有关更多信息,请参阅子域configuration 。

那么他们应该显示相同的内容,因为DocumentRoot是一样的。

我想testing域应该是DocumentRoot "/var/www/html/domain_test/web"而不是DocumentRoot "/var/www/html/domain/web"