EC2实例上有多个虚拟主机的困难

问题描述 投票:0回答:1

我承认我对VirtualHosts的了解可能是粗略的,但是我正在承担一项我正在苦苦挣扎的任务。我需要在我的EC2实例上有两个域到达两个不同的文件夹。我们称它们为domaina.comdomainb.com

我已经这样设置了/etc/httpd/conf/httpd.conf文件;

Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/domaina/www/html"
    ServerName "domaina.com"
    ServerName "www.domaina.com"
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/domainb/www/html"
    ServerName "domainb.com"
    ServerName "www.domainb.com"
</VirtualHost>

更新后,我已经使用sudo service httpd restart命令重新启动了Apache。

据我所知,domaina.com正常运行。它正在加载/ var / domaina / www / html托管的网站。但是,访问domainb.com会将我带到domaina.com的网站。似乎没有路由到/ var / domainb / www / html,而是路由到/ var / domaina / www / html /。

apache amazon-ec2 virtualhost
1个回答
0
投票

尝试将其更改为:

Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/domaina/www/html"
    ServerName "domaina.com"
    ServerAlias "www.domaina.com"
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/domainb/www/html"
    ServerName "domainb.com"
    ServerAlias "www.domainb.com"
</VirtualHost>

ServerName指令可能出现在VirtualHost定义内的任何位置。但是,每个外观都会覆盖先前的外观(在该VirtualHost中)。您的ServerName "domainb.com"ServerName "www.domainb.com"覆盖。此后,由于主机名domainb.com不匹配,因此使用默认值VirtualHost,它是前一个。

© www.soinside.com 2019 - 2024. All rights reserved.