Chrome上的Apache2虚拟主机redirect问题

我有一个非常奇怪的问题,似乎只存在于Chrome浏览器,IE和Firefox都很好。 我有2个网站正在服务1个IP地址,我有2个相同的文件在网站 – 可用名为site1.com和site2.com。 我运行a2ensite命令来创build启用网站的链接。

除了site1.com使用Chrome浏览器之外,所有的redirect都能正常工作。

在Chrome浏览器中,如果我键入www.site1.com,则会将我redirect到正确的文件夹/var/www/site1.com,如果我键入http://site1.com,则会将我redirect到错误的文件夹/ var / www

现在这是奇怪的地方,当我键入www.site2.comredirect到/var/www/site2.com,当我键入http://site2.com它正确地redirect到/ var / www / sites2 .COM

我不明白的是,虚拟主机文件是相同的实际ServerName&别名和日志位置栏。

站点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> 

所以我不能解决这个问题,这让我疯狂,我已经切换到nginx。 没有nginx的问题。 同样使用less50%的RAM。

我有同样的问题,这让我疯狂。 我到处search与Apache有关的任何问题,因为我认为这是在redirect。

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

您可以尝试刷新浏览器中的DNScaching。 (虽然这暂时对我有用)

在新的chrome选项卡中访问: chrome:// net-internals /#dns 。

然后点击clear host cachebutton。

尝试重新访问url,看看是否显示正确的网站。

但是这并不奏效

所以这不是一个永久性的解决scheme,因为它只是在我第一次使用它,而我又开始有问题了。

此解决scheme为我工作: https : //stackoverflow.com/a/30489627/754854

基本上,只要进入系统偏好设置>networking>高级

在DNS选项卡中添加您的本地主机IP 127.0.0.1 。 另外,请注意不要覆盖路由器IP。 出于某种奇怪的原因,+符号将其删除,并将其replace为您的configuration,而不是仅仅添加您的configuration。 如果是这种情况,你会想要添加你的路由器IP。你可以在networking页面上看到你的路由器IP。 没有它,你可能会很难加载网站,所以确保它仍然存在。

订单很重要。 确保你的localhost IP是第一位的,而你的路由器或其他设置是第二位的:

 127.0.0.1 xx.xx.xx.x 

应用您的更改并进行testing。

Mac OS Sierra上使用Chrome版本60.0.3112.101(官方版本)(64位)时出现这个问题,