2

我试图设置一个 htaccess 文件,它只是将所有不同的 url 重定向到另一个 url:

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

但是我发现了一些奇怪的东西,由于某种原因,它导致了一个无限循环。所以我做了一些测试。

我的网站空间如下所示:

 -root 
 ---folder 1 
 ---folder 2

我有 2 个域,一个针对根文件夹,另一个针对子文件夹:

-root <--- http://another-url.com
--- folder 1
--- folder 2 <---- http://www.example.com

我假设%{HTTP_HOST}从我的 htaccess 文件中将每个 url 识别为http://another-url.de,这与我的 www.example.com 不同,因此它重定向到 www.example.com 导致无限循环.

我做了一个简单的检查:我在我的文件夹 2 中创建了一个 PHP 文件,它打印$_SERVER[HTTP_HOST]. 通过http://www.example.com打开文件,我得到了输出 www.another-url.com。

有谁知道发生了什么事?我怎么能解决这个问题?!

4

1 回答 1

0

我知道这是一个老问题,但我今天在谷歌浏览器中遇到了同样的问题,在一个托管许多虚假开发域的本地环境中。这是为我解决的问题:

  • 打开开发者工具(PC 上的 Ctrl-Alt-i,Mac 上的 Cmd-Option-i)
  • 按住刷新按钮
  • 出现选项时,选择Empty Cache and Hard Reload

之后,加载了正确的域。所以 Chrome 肯定缓存了一个错误的 DNS 条目或其他东西。

于 2017-08-31T18:02:00.920 回答