虚拟主机在 WAMP 中不工作或重定向

虚拟主机在 WAMP 中不工作或重定向

我遇到了一个问题,它只在 Google Chrome 中发生,而在 Firefox 和 IE 中则正常。我在 Google 上搜索了很多网站,也尝试了一些技巧,但都不起作用。

我已经安装了 WAMP 服务器。我设置了两个虚拟主机:

问题是,每当我在地址栏中输入 localhost 时,它都会立即重定向到 enginter.local !并且 Chrome 会针对所有本地 URL 显示此错误:

此页面无法运行

enginter.local 没有发送任何数据。

错误信息:ERR_EMPTY_RESPONSE

httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "d:/wamp/www/real/yegane"
    ServerName yegane.local
    ServerAlias www.yegane.local
    ErrorLog "logs/yegane.local-error.log"
    CustomLog "logs/yegane.local-access.log" common
    <Directory "/">
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "d:/wamp/www/real/enginter"
    ServerName enginter.local
    ServerAlias www.enginter.local
    ErrorLog "logs/enginter.local-error.log"
    CustomLog "logs/enginter.local-access.log" common
    <Directory "/">
        Require all granted
    </Directory>
</VirtualHost>

这是我的hosts文件(在 Windows 10 中):

127.0.0.1       localhost
#::1            localhost

127.0.0.1   enginter.local
127.0.0.1   yegane.local

我尝试清除此处的 DNS 缓存 chrome://net-internals/#dns 并且尝试将 chrome://flags 中的所有内容重置为默认设置,但没有成功!

重启系统后问题就解决了,但过了一会儿又出现了,而且 Apache 也使用了 80 端口。

如果造成混淆,我很抱歉。我自己也搞不清楚,而且这花了我整整一周的时间。

更新

现在我所有的浏览器都是这样!

更新2

httpd -S给出:

VirtualHost configuration:
127.0.0.1:*            is a NameVirtualHost
         default server enginter.local (D:/wamp/bin/apache/apache2.4.23/conf/extra/httpd-vhosts.conf:43)
         port * namevhost enginter.local (D:/wamp/bin/apache/apache2.4.23/conf/extra/httpd-vhosts.conf:43)
                 alias www.enginter.local
         port * namevhost yegane.local (D:/wamp/bin/apache/apache2.4.23/conf/extra/httpd-vhosts.conf:57)
                 alias www.yegane.local
*:80                   localhost (D:/wamp/bin/apache/apache2.4.23/conf/extra/httpd-vhosts.conf:30)
ServerRoot: "D:/wamp/bin/apache/apache2.4.23"
Main DocumentRoot: "D:/wamp/www"
Main ErrorLog: "D:/wamp/logs/apache_error.log"
Mutex default: dir="D:/wamp/bin/apache/apache2.4.23/logs/" mechanism=default
PidFile: "D:/wamp/bin/apache/apache2.4.23/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: APACHE24=Apache2.4
Define: VERSION_APACHE=2.4.23
Define: INSTALL_DIR=D:/wamp
Define: APACHE_DIR=D:/wamp/bin/apache/apache2.4.23

答案1

httpd-vhosts.conf我将按如下方式构建您的虚拟主机条目:

# Assuming we wish to type in e.g. "localhost" in Chrome

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName localhost
    #ServerAlias should be unneeded 
    DocumentRoot "d:/wamp/www/real/localhost"  # Or whatever directory is appropriated
    ErrorLog "logs/localhost.local-error.log"
    CustomLog "logs/locahost.local-access.log" common
    #... Other stuff ...
</VirtualHost>

#... Other entries as listed ...

请注意,这#... Other stuff ...显然可以是Directory信息或您希望包含的任何其他内容,但这不是必需的。此配置应该通过在浏览器中输入“localhost”或“127.0.0.1”即可访问“localhost”。

主 httpd.conf 文件中也有 localhost 的 ServerName 和 DocumentRoot 条目[.]

您不需要更改任何内容DocumentRoothttpd.conf但您应该更改服务器名称进入httpd.conf,特别是进入某事物其他而不是“localhost”(例如ServerName MyCoolServer=P)。

你(当然)需要重启 WAMP(Apache)服务器并刷新浏览器缓存(你甚至可能需要执行两次)。在 Chrome 中,你可以使用chrome://settings/clearBrowserData。在 Firefox 中,可以使用 *历史记录 - > 清除历史记录...* 选项实现类似的效果(至少清除浏览和下载历史记录缓存可以从下拉菜单中尽早设置)。

相关内容