【问题标题】: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>

【问题讨论】:

    标签: apache .htaccess xampp


    【解决方案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

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-13
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2021-05-31
      • 2019-02-05
      • 1970-01-01
      相关资源
      最近更新 更多