本地站点重定向到实时站点
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
。
在您的开发服务器上,注释以上行,在您的生产服务器上不要注释它们。
此外,如果您仍然遇到重定向,请务必清除浏览器缓存。
【讨论】:
以上是关于本地站点重定向到实时站点的主要内容,如果未能解决你的问题,请参考以下文章
ini 将缺少的本地资产重定向到实时环境。 (将其放在特定于站点的conf文件中的服务器声明中)。
wordpress adminpanel登录重定向到本地主机上的相同登录页面