本地站点重定向到实时站点

Posted

技术标签:

【中文标题】本地站点重定向到实时站点【英文标题】:Local site redirecting to live site 【发布时间】:2015-08-06 03:58:24 【问题描述】:

我正在尝试在本地设置我的 Web 文件以进行测试。我的文档文件夹中有我的站点文件。我已经安装了 xampp 并设置了 apache 以使用ballball.dev 来打开我的本地网站。但是当我尝试使用它时,balloon.dev 会重定向到实时站点。我不确定为什么。

我的 httpd-vhosts 文件:

<VirtualHost *:80>
DocumentRoot "C:/Users/Kirst/Documents/GitHub/baseball-for-busy-   people/"
ServerName baseball.dev
ServerAlias www.baseball.dev
<Directory "C:/Users/Kirst/Documents/GitHub/baseball-for-busy-people/">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>

我的主机文件:

127.0.0.1             www.baseball.dev

包含网站文件的文件夹中有一个 htaccess 文件。我认为这可能是导致问题的原因,但是当我将其移动或将其注释掉时,它没有任何效果。这是那个文件:

# Use php5.4 as default
AddHandler application/x-httpd-php54 .php

# Apache Rewrite Rules
 <IfModule mod_rewrite.c>
# For security reasons, Option followsymlinks cannot be overridden.
#  Options +FollowSymLinks
  Options +SymLinksIfOwnerMatch
  RewriteEngine On
  RewriteBase /

# Rewrite baseballforbusypeople.com as   www.baseballforbusypeople.com
RewriteEngine On
 RewriteCond %HTTP_HOST !^www.baseballforbusypeople.com$ [NC]
 RewriteRule ^(.*)$ http://www.baseballforbusypeople.com/$1 [L,R=301]

# Add trailing slash to url
  RewriteCond %REQUEST_FILENAME !-f
  RewriteCond %REQUEST_URI !(\.[a-zA-Z0-9]1,5|/|#(.*))$
  RewriteRule ^(.*)$ $1/ [R=301,L]

# Remove .php-extension from url
   RewriteCond %REQUEST_FILENAME !-d
   RewriteCond %REQUEST_FILENAME\.php -f
   RewriteRule ^([^\.]+)/$ $1.php 

 # Remove .html-extension from url
  RewriteCond %REQUEST_FILENAME !-d
  RewriteCond %REQUEST_FILENAME\.html -f
  RewriteRule ^([^\.]+)/$ $1.html 

 # End of Apache Rewrite Rules
 </IfModule>

【问题讨论】:

【参考方案1】:

显而易见的首选是在 Windows 上使用 ipconfig /flushdns 刷新dns。您是否确认主机名 www.baseball.dev 确实指向 127.0.0.1

我还注意到 htaccess 文件包含以下指令:RewriteCond %HTTP_HOST !^www.baseballforbusypeople.com$ [NC] 据我所知,它将重写对包含 .htaccess 的站点的任何请求到我的 www.baseballforbusypeople.com 站点我猜是现场直播。

【讨论】:

我执行了 ipconfig/flushdns(此处使用说明:technet.microsoft.com/en-us/library/cc781949%28v=ws.10%29.aspx)。然后我检查了网址。它仍然会重定向。 对于htaccess,我注释掉了整个文件,但没有任何区别。本地 URL 仍会重定向到实时 URL。我可以完全删除该文件,但如果可以的话,我想将其保留在其中,以便对实时站点上的文件进行备份。 这是因为重定向设置为 301,永久。因此,您可能需要清除缓存。 谢谢迈克,提供更多信息的答案,缓存清除和重定向的取消注释应该可以解决问题。 感谢两位的帮助。注释掉这两行并清除缓存后,就成功了!【参考方案2】:

以下行导致重定向:

RewriteCond %HTTP_HOST !^www.baseballforbusypeople.com$ [NC]
RewriteRule ^(.*)$ http://www.baseballforbusypeople.com/$1 [L,R=301]

因此,对www.baseball.dev 的请求将重定向到www.baseballforbusypeople.com

在您的开发服务器上,注释以上行,在您的生产服务器上不要注释它们。

此外,如果您仍然遇到重定向,请务必清除浏览器缓存。

【讨论】:

以上是关于本地站点重定向到实时站点的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止localhost重定向到实时站点

ini 将缺少的本地资产重定向到实时环境。 (将其放在特定于站点的conf文件中的服务器声明中)。

wordpress adminpanel登录重定向到本地主机上的相同登录页面

apache中的本地站点只是重定向到另一个本地人

访问本地托管的 Wordpress 站点时出现问题(重定向+其他废话)

localhost wordpress 重定向到 XAMPP 站点