【问题标题】:NameVirtualHost Works on IP but not for ServerName?NameVirtualHost 适用于 IP 但不适用于 ServerName?
【发布时间】:2014-02-10 08:26:28
【问题描述】:

我是 Apache 的初学者,一直在尝试创建虚拟主机,但遇到了一个非常奇怪的问题。当使用配置中定义的 IP 请求站点时,虚拟主机可以正常工作,但是当使用服务器名称时,它就无法正常工作。 这是包含文件的配置文件:

Listen 80

NameVirtualHost 192.168.1.5

<VirtualHost 192.168.1.5>
ServerName host1.localhost
DocumentRoot "C:/Program Files (x86)/Apache Group/Apache2/virtualHost1"
</VirtualHost>

在浏览器中,我转到 192.168.1.5 并显示虚拟主机的索引文件,但是当我转到 host1.localhost 时,它不起作用。

非常感谢任何帮助,祝大家今天愉快。

【问题讨论】:

  • 请说明您遇到的错误类型。 “不起作用”有点太笼统了。

标签: apache url virtualhost


【解决方案1】:

首先您应该尝试查看您的计算机是否解析host1.localhost 主机名。

可能只是尝试在您的控制台中 ping 它:ping host1.localhost

如果您的计算机无法解析 host1.localhost,我想,那么请尝试将其添加到您的 hosts 文件中。

提示:您将在C:\Windows\System32\drivers\etc 目录中找到hosts 文件

【讨论】:

  • 如您所述,将 IP 映射到域名所需的 hosts 文件。非常感谢!
【解决方案2】:

“它不起作用”是什么意思。
1)检查你的DNS设置,你有host1.localhost指向192.168.1.5的记录吗?
2)也尝试使用 ServerAlias
3)检查hosts1.localhost是否有另一个声明(由另一个ServerAlias)
我猜最可能的原因是 1)

【讨论】: