我正在尝试在 Amazon Linux 下的 apache 中配置新的 vhost。新站点应响应 newsite.mydomain.com,而现有站点应响应对 mydomain.com 的所有其他请求。我的 vhosts.conf 如下所示:
名称虚拟主机 *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/public/newsite.mydomain.com/html
ServerName newsite.mydomain.com
ErrorLog /var/www/public/newsite.mydomain.com/logs/error.log
CustomLog /var/www/public/newsite.mydomain.com/logs/access.log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName *.mydomain.com
ServerAlias *.myotherdomain.com
ErrorLog logs/error_log
</VirtualHost>
通过此配置,我可以正常访问新站点,但使用通配符的现有站点会中断,并会显示默认的 apache 页面。
我究竟做错了什么?
谢谢你的帮助,
沃伦
答案1
您应该在 ServerName 指令中使用完全限定域名 (阿帕奇文档) 作为第二个 vHost,并且不要在其中使用通配符:
ServerName mydomain.com
ServerAlias *.mydomain.com
ServerAlias myotherdomain.com
ServerAlias *.myotherdomain.com
希望这能给你带来更多
答案2
我认为您遗漏了以下内容:
[alexus@wcmisdlin02 ~]$ grep ^NameVirtualHost /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
[alexus@wcmisdlin02 ~]$
确保取消注释此行并重新启动httpd
。