apache2多个子域

时间:2017-03-10 22:08:15

标签: apache dns virtualhost

我在Debian服务器上的Apache2中有两个虚拟主机设置子域。 ip是104.130.6.104。在浏览器中输入ip后,apache将返回blog.goaltilt.com的文件。我希望它返回www.goaltilt.com的文件。我找了一个小时的答案。有人可以帮我理解如何强制apache解析ip到我选择的子域吗?

goaltilt.com.conf是:

<VirtualHost *:80>
    ServerName goaltilt.com
    ServerAlias www.goaltilt.com
    ServerAdmin robert@goaltilt.com
    DocumentRoot /var/www/goaltilt.com/public_html
</VirtualHost>

blog.goaltilt.com.conf是:

<VirtualHost *:80>
    ServerName blog.goaltilt.com
    ServerAdmin robert@goaltilt.com
    DocumentRoot /var/www/blog.goaltilt.com/public_html
</VirtualHost>

2 个答案:

答案 0 :(得分:1)

我发现我已经禁用了000-default.conf文件,因此服务器正在解析为可用站点中的第一个虚拟主机。我修改了000-default.conf文件以确保它进入主站点然后启用它并重新启动apache以使其运行。现在,000-default.conf文件将104.130.6.104 IP解析为正确的虚拟主机。谢谢你的帮助艾文。您的回答帮助我找出了文档中要查找的内容。

答案 1 :(得分:0)

通常应使用DNS映射主机名,因此根据您的注释,您使用的是IP而不是名称。既然如此,您需要修改您的主机文件,或者如果您恰好是网络管理员,则可以添加cname

在Windows上,您可以修改文件C:\Windows\System32\drivers\etc\hosts并将以下内容添加到文件中:

192.168.20.24  blog.goaltilt.com

然后当您在该Windows计算机http://blog.goaltilt.com上进入浏览器时,它会将该主机名发送到您的Apache服务器(上面的示例显示&#39; 192.168.20.24&#39;作为服务器地址)和妥善解决。

在Linux上,您需要修改/etc/hosts文件并使用相同的格式。