Chrome 上的 Apache2 虚拟主机重定向问题

Chrome 上的 Apache2 虚拟主机重定向问题

我遇到了一个非常奇怪的问题,似乎只出现在 Chrome 上,IE 和 Firefox 都没问题。我有 2 个网站由 1 个 IP 地址提供服务,我在 sites-available 中有两个相同的文件,分别名为 site1.com 和 site2.com。我运行 a2ensite 命令来创建指向 sites-enabled 的链接。

除使用 Chrome 的 site1.com 外,所有重定向均运行正常。

在 Chrome 上,如果我输入 www.site1.com 它会将我重定向到正确的文件夹 /var/www/site1.com ,如果我输入http://site1.com它将我重定向到错误的文件夹 /var/www

现在,事情变得奇怪了,当我输入 www.site2.com 时,它会将我重定向到 /var/www/site2.com,而当我输入http://site2.com它将我正确地重定向到 /var/www/sites2.com

我不明白的是,虚拟主机文件除了实际的服务器名称和别名以及日志位置外,是否完全相同。

站点1

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName site1.com
        ServerAlias www.site1.com
        DocumentRoot /var/www/site1.com

        #<Directory />
        #        Options FollowSymLinks
        #        AllowOverride None
        #</Directory>
        #<Directory /var/www/site1.com>
        #        Options Indexes FollowSymLinks MultiViews
        #        AllowOverride None
        #        Order allow,deny
        #        allow from all
        #</Directory>


        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        ErrorLog /var/www-logs/site1.com/error.log
        CustomLog /var/www-logs/site1.com/access.log combined
</VirtualHost>

站点2

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName site2.com
        ServerAlias www.site2.com
        DocumentRoot /var/www/site2.com

        #<Directory />
        #        Options FollowSymLinks
        #        AllowOverride None
        #</Directory>
        #<Directory /var/www/site2.com>
        #        Options Indexes FollowSymLinks MultiViews
        #        AllowOverride None
        #        Order allow,deny
        #        allow from all
        #</Directory>


        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        ErrorLog /var/www-logs/site2.com/error.log
        CustomLog /var/www-logs/site2.com/access.log combined
</VirtualHost>

答案1

我也遇到过同样的问题,这让我很抓狂。我到处搜索 Apache 的问题,因为我认为它正在执行重定向。

显然这是 chrome(可能是 Mac OS)的问题。Firefox 按预期显示虚拟主机。

您可以尝试清除浏览器中的 DNS 缓存。(虽然这对我暂时有效)

访问:chrome://net-internals/#dns在新的 chrome 标签页中。

然后点击clear host cache按钮。

尝试再次访问这些网址,看看是否出现正确的网站。

但那没有用...

所以这不是一个永久的解决方案,因为它只在我第一次使用时起作用,然后我又开始遇到问题。

这个解决方案对我有用:https://stackoverflow.com/a/30489627/754854

基本上,只需进入系统偏好设置>网络>高级

在 DNS 选项卡中添加您的本地主机 IP 127.0.0.1。另外,请注意不要覆盖路由器 IP。出于某种奇怪的原因,+ 号会将其删除并替换为您的配置,而不是直接添加您的配置。如果是这种情况,您需要重新添加路由器 IP。您可以在网络页面上看到路由器 IP。如果没有它,您可能很难加载网站,因此请确保它仍然存在。

顺序很重要。确保您的本地主机 IP 位于第一个,路由器或其他设置位于第二个:

127.0.0.1
xx.xx.xx.x

应用您的更改并测试它。

我在使用 Chrome 版本 60.0.3112.101(官方版本)(64 位)的 Mac OS Sierra 上遇到了这个问题

答案2

所以我无法解决这个问题,这让我很抓狂,我已经切换到 nginx。nginx 没有问题。而且使用的 RAM 也减少了 50%。

相关内容