有人能解释一下这个.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文件包含上面的代码。< / p>
当我直接访问文件 mywebsite.com/download/folder1/file.mp4 时,它会返回错误:
mywebsite.com重定向了你太多次了。尝试清除你的 饼干。 ERR_TOO_MANY_REDIRECTS
我尝试清除浏览器Cookie,但问题仍然存在。 当我注释掉上面的htaccess行时,这个问题就解决了。
答案 0 :(得分:0)
此规则似乎正在寻找由以下内容组成的特定模式:
<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脚本中存在的任何安全漏洞被轻易利用/暴露。