找不到.htaccess循环错误“重定向太多”

时间:2016-09-13 02:35:13

标签: apache .htaccess

我无法弄清楚为什么在尝试加载我修改了.htaccess文件的网页时,浏览器会向我返回错误“太多重定向”。

你能帮我找一下错误所在的文件吗?

jsonlite::flatten

1 个答案:

答案 0 :(得分:0)

您的错误是第一条规则:

RewriteCond %{HTTP_HOST} ^([www\.]*domain\.com)$ [NC]
RewriteCond %{REQUEST_URI} ^/.+$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这就是说:

  1. 如果主持人是“www.domain.com”或“domain.com”
  2. 请求不仅仅是“/”
  3. 然后使用“https”方案重定向到同一主机并请求
  4. 因此,无论您要求什么,您都会因为该规则而最终陷入循环。

    让我们说,你去http://domain.com/

    1. 主机为“domain.com”,URI为“/”
    2. 第二条规则将浏览器重定向到https://domain.com/web
    3. 浏览器加载新网址
    4. 主机为“domain.com”,URI为“/ web”
    5. 第一条规则将浏览器重定向到https://domain.com/web
    6. 从步骤 3
    7. 开始重复

      因此你有了重定向循环。

      我不知道你试图用这个规则做什么,它实际上只做一件事,而且一件事就是造成一个永久的重定向循环。