【发布时间】:2017-07-28 02:49:31
【问题描述】:
我一直按照这个步骤setup apache virtualhost (windows) 在 Windows 中创建一个虚拟主机,但我不知道出了什么问题,因为它不起作用。
我想要一个带有这个 url 的虚拟主机:http://local.shop。
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/Apache24/htdocs/"
ServerName localhost
ServerAlias localhost
<Directory "C:/Apache24/htdocs/">
AllowOverride All
</Directory>
<VirtualHost *:80>
DocumentRoot "C:/Apache24/htdocs/shop/"
ServerName local.shop
ServerAlias local.shop
<Directory "C:/Apache24/htdocs/shop/">
AllowOverride All
</Directory>
ErrorLog "logs/localhost.html-error.log"
CustomLog "logs/localhost.html-access.log" common
</VirtualHost>
主机
127.0.0.1 localhost
127.0.0.1 local.shop
如果我尝试访问 http://localhost,则提供的页面是 C:/Apache24/htdocs/shop/ 上的页面,但如果我尝试访问 http://local.shop,则会出现下一个错误 ERR_NAME_NOT_RESOLVED
我做错了什么?
编辑 1:
我已经删除了 ServerAlias 指令,现在如果我尝试访问 http://localhost 所提供的页面是正确的页面,但如果我尝试访问 http://local.shop 仍然无法正常工作。我遇到了同样的错误ERR_NAME_NOT_RESOLVED
编辑 2: 我已经使用 Windows 中的“ping”命令来尝试访问每个主机。我从 localhost 得到响应,但没有从 local.shop 得到响应
编辑 3: 我在 httpd-vhosts.conf 中对 localhost 的定义进行了更改。我已将 DocumentRoot 更改为“C:/Apache24/htdocs/shop”
<VirtualHost *:80>
DocumentRoot "C:/Apache24/htdocs/shop"
ServerName localhost
ServerAlias localhost
<Directory "C:/Apache24/htdocs/">
AllowOverride All
</Directory>
</VirtualHost>
我仍然从原始本地主机获取默认页面,而不是从商店目录获取默认页面。 Apache 似乎忽略了 httpd-vhosts.conf 文件。
【问题讨论】:
-
不是问题,但请删除那些
ServerAlias指令,那样它们没有任何意义。 -
当您重新启动 http 服务器时,您的 http 服务器错误日志文件中的条目?
-
对主机名
local.shop的命令行解析尝试会产生什么结果? -
我该怎么做?
-
你怎么能做什么?
标签: windows apache virtualhost apache2.4