目前我有2个VirtualHosts:
<VirtualHost *:80> ServerName *.*.comp1.office1.lan VirtualDocumentRoot /var/www/%-4/%-5/ UseCanonicalName Off <Directory /var/www/> Options Indexes FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
<VirtualHost *:80> ServerName *.comp1.office1.lan VirtualDocumentRoot /var/www/%-4/ UseCanonicalName Off <Directory /var/www/> Options Indexes FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
像folder.site.comp1.office1.lan resolvs这样的域( /var/www/site/folder/ )。 但在请求site.comp1.office1.lan我recive 404错误。
而Apache会logging下这一行:
[time...] [error] [client my.ip.there] File does not exist: /var/www/site/_
如果我更改虚拟主机的加载顺序(第二个在第一个之前加载)比site.comp1.office1.lan工作上帝,但与404响应的问题去folder.site.comp1.office1.lan 。
你通常不会在一个虚拟主机的ServerName条目中使用通配符,你通常会把它们放在一个ServerAlias指令中。 尝试一下
ServerName comp1.office.lan ServerAlias *.*.comp1.office.lan ...
您可能必须configurationServerName,以使它们全都不同,并使vhost名称与ServerAlias相匹配。