我有一个奇怪的情况,我想要 URLapp1.example.com
, example.com
and *.example.com
全部使用不同的虚拟主机。这就是我所拥有的(不包括example.com
因为它只会让事情变得更加混乱)。
<VirtualHost *>
ServerName app1.example.com
ServerAlias app1.example.com
DocumentRoot = /var/www/app1
# Other configuration for this app here
</VirtualHost>
<VirtualHost *>
ServerName wildcard.example.com
ServerAlias *.example.com
DocumentRoot = /var/www/wildcard
# other configuration for this app here
</VirtualHost>
问题是它们是冲突的。最先列出的一方获胜。如何同时托管通配符虚拟主机和特定虚拟主机?
注意:我不只是改变DocumentRoot
在配置中,所以使用mod_rewrite
更改 DocumentRoot 变量并不能修复它。
<VirtualHost *:80>
DocumentRoot /var/www/app1
ServerName app1.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/wildcard
ServerName other.example.com
ServerAlias *.example.com
</VirtualHost>
应该管用。如果您没有获得显式匹配,第一个条目将成为默认条目。因此,如果您让 app.otherexample.com 指向它,那么它将被捕获为 app1.example.com。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)