【问题标题】:ERR_TOO_MANY_REDIRECTS htaccessERR_TOO_MANY_REDIRECTS htaccess
【发布时间】:2017-07-28 16:05:02
【问题描述】:

谁能解释一下这个 .htaccess 代码在做什么?

 RewriteRule ([0-9]+)/([^t]{1}[A-Za-z0-9_-]{0,})\.([^s]{1}[A-Za-z0-9]+)$ ../items/go.php?u=$1/$2.$3

我有一个文件夹:mywebsite.com/download/folder1/,在上层 mywebsite.com/download/ 文件夹中有一个 .htaccess 文件,其中包含上面的代码。

当我直接访问路径 mywebsite.com/download/folder1/file.mp4 的文件时,它会返回错误:

mywebsite.com 重定向您的次数过多。尝试清除您的 饼干。 ERR_TOO_MANY_REDIRECTS

我尝试清除浏览器 cookie,但问题仍然存在。 当我注释掉上面的 htaccess 行时,这个问题就解决了。

【问题讨论】:

    标签: .htaccess mod-rewrite nginx


    【解决方案1】:

    这条规则似乎在寻找一个特定的模式,包括:

    <numbers>/<alphanumeric string not starting with t and with other conditions applied>.<alphanumeric string not starting with s>
    

    然后将用户的浏览器重定向到 go.php,并将解析的文件名作为文件参数传递。

    ERR_TOO_MANY_REDIRECTS 可能是由于无限重定向循环。在不知道存在哪些其他 RewriteRule 语句的情况下,很难缩小确切原因的范围。您可以通过查看重写的输出是否匹配任何其他 RewriteRule 条件来进一步缩小范围。

    一般来说,对于给定的示例输入,该规则看起来很可疑。如果这是自产的,我建议完全重写它,因为它当前的形式会给用户生成的数据提供意外的输出,这可能导致 go.php 脚本中存在的任何安全漏洞很容易被利用/暴露。

    【讨论】:

      猜你喜欢
      • 2018-02-15
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 2016-05-30
      • 2017-07-20
      相关资源
      最近更新 更多