Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
apache2多个子域_Apache_Dns_Virtualhost - Fatal编程技术网

apache2多个子域

apache2多个子域,apache,dns,virtualhost,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

我在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>
<VirtualHost *:80>
    ServerName blog.goaltilt.com
    ServerAdmin robert@goaltilt.com
    DocumentRoot /var/www/blog.goaltilt.com/public_html
</VirtualHost>

ServerName goaltilt.com
ServerAlias www.goaltilt.com
服务器管理员robert@goaltilt.com
DocumentRoot/var/www/goaltilt.com/public\u html
blog.goaltilt.com.conf是:

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

ServerName blog.goaltilt.com
服务器管理员robert@goaltilt.com
DocumentRoot/var/www/blog.goaltilt.com/public\u html

通常主机名应该使用DNS映射,因此根据您的评论,您使用的是IP而不是名称。既然如此,您需要修改主机文件,或者如果您碰巧是网络管理员,您可以添加一个
cname

在windows上,您可以修改文件
C:\windows\System32\drivers\etc\hosts
,并向文件中添加类似的内容:

192.168.20.24  blog.goaltilt.com
然后,当您在该Windows计算机上的浏览器中输入
http://blog.goaltilt.com
,它会将该主机名发送到Apache服务器(上面的示例显示“192.168.20.24”作为服务器地址)并正确解析


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

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

我想您已经在运行浏览器的客户端计算机上编辑了主机文件,以将主机名映射到ip地址?如果没有,请告诉我您是否需要帮助。嗨,阿尔文,谢谢您的回复。我想在服务器端这样做,这样任何使用IP浏览网站的人都可以访问www.goaltilt.com。如果他们使用一个命名的虚拟主机,他们将获得该站点。虚拟主机已经可以工作了。我不知道要做什么配置才能让IP解析到服务器端的www.goaltilt.com。基于此,我认为需要将虚拟主机定义添加到apache2.conf文件中。这看起来对吗?