虚拟主机优先

我有我的Apache服务器设置和我的子域链接到应用程序,然后将find适当的数据库工作或退出,如果它不存在

所以为此,我有一个* .domain.tld

但现在我确实需要服务器应用程序的一些子域名,例如phpmyadmin.domain.tld

所以我已经这样设置了

<VirtualHost *> DocumentRoot "/var/www/phpmyadmin" ServerName phpmyadmin.domain.tld <Directory "/var/www/phpmyadmin"> allow from all Options +Indexes </Directory> </VirtualHost> <VirtualHost *> DocumentRoot /var/www/hidden/app/public ServerName *.domain.tld <Directory "/var/www/hidden/app/public"> allow from all Options +Indexes </Directory> </VirtualHost> 

但是这样它总是去phpmyadmin wathever我给test.domain.tld phpmyadmin.domain.tld helpme.domain.tld等。

如果我把第二个虚拟主机(* .domain.tld之一)它不会去phpmyadmin.domain.tld,但只是对应用程序

我究竟做错了什么?

更新:

还是行不通

这样它只显示phpmyadmin无论我去test.domain.tld phpmyadmin.domain.tld等

 <VirtualHost *> DocumentRoot /var/www/phpmyadmin <Directory "/var/www/phpmyadmin"> allow from all Options +Indexes </Directory> ServerName phpmyadmin.domain.tld ServerAlias phpmyadmin.domain.tld </VirtualHost> <VirtualHost *> DocumentRoot /var/www/hidden/app/public ServerName domain.tld ServerAlias *.domain.tld <Directory "/var/www/hidden/app/public"> Allowoverride All allow from all Options +Indexes </Directory> </VirtualHost> 

这样它只显示应用程序,无论我去test.domain.tld phpmyadmin.domain.tld等

 <VirtualHost *> DocumentRoot /var/www/hidden/app/public ServerName domain.tld ServerAlias *.domain.tld <Directory "/var/www/hidden/app/public"> Allowoverride All allow from all Options +Indexes </Directory> </VirtualHost> <VirtualHost *> DocumentRoot /var/www/phpmyadmin <Directory "/var/www/phpmyadmin"> allow from all Options +Indexes </Directory> ServerName phpmyadmin.domain.tld ServerAlias phpmyadmin.domain.tld </VirtualHost> 

apachectl -S输出

 VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:* phpmyadmin.domain.tld (/etc/httpd/conf/httpd.conf:1015) *:* domain.tld (/etc/httpd/conf/httpd.conf:1025) Syntax OK 

NameVirtualHost *添加到您的configuration。

(如果这没有办法,请提供apachectl -S的输出。)

ServerName指令不允许使用通配符。 为此,你需要ServerAlias

所以,就像这样

 ServerName somethingelse.domain.tld ServerAlias *.domain.tld