Apache VirtualHost 多域名配置的问题


系统 CentOS7 x64 Apache 2.4。配置vhost.conf 但是出现3个问题。
出现问题
1)使用IP或者未写在VirtualHost中的域名访问,进入的是第二个VirtualHost。
我想屏蔽没有绑定的域名的访问。

2)如果VirtualHost背后写的域名是没有DNS解析的,Apache无法启动。
是不是Apache启动的时候会检测域名是否有DNS解析?如何禁用这个功能

3)第三个VirtualHost 背后是这样写吗?我发现如果域名没有全部写进去,是无法访问的。ServerAlias 似乎失效的。

我的配置


 #/etc/httpd/conf.d/vhost.conf
<VirtualHost *>
DocumentRoot /home/_default_/wwwroot
ServerName localhost
ErrorLog /home/_default_/logs/error.log
CustomLog /home/_default_/logs/access.log combined
</VirtualHost>

<VirtualHost pma.ln.35dalu.com>
DocumentRoot /home/phpmyadmin/public_html
ServerName pma.ln.35dalu.com
ErrorLog /home/phpmyadmin/logs/error.log
CustomLog /home/phpmyadmin/logs/access.log combined
</VirtualHost>


<VirtualHost ln.35dalu.com 35dalu.com www.35dalu.com info.35dalu.com>
DocumentRoot /home/35dalu.com/public_html
ServerName 35dalu.com
ServerAlias dev.35dalu.com info.35dalu.com ln.35dalu.com www.35dalu.com
ErrorLog /home/35dalu.com/logs/error.log
CustomLog /home/35dalu.com/logs/access.log combined
</VirtualHost>

apache php 虚拟主机 web服务器

普通的魔法使 10 years, 2 months ago

可以尝试 *.ooxx.com 这种写法。

<VirtualHost *.ooxx.com> 是根据后面那个参数判断是否要进去读取参数的。

还有一个 Tips 可以利用一下:

如果没有匹配,默认会使用第一个 VirtualHost。

俺才不素软妹 answered 10 years, 2 months ago

Your Answer