2017-07-28 58 views
0

任何人都可以解釋我這個.htaccess代碼在做什麼?ERR_TOO_MANY_REDIRECTS 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/與.htaccess文件中uplevel mywebsite.com/download/文件夾包含上面的代碼。

當我直接訪問文件的路徑mywebsite.com/download/folder1/file.mp4返回錯誤:

mywebsite.com重定向你太多次。嘗試清除您的 Cookie。 ERR_TOO_MANY_REDIRECTS

我試圖清除我的瀏覽器cookie,但問題仍然存在。 當我註釋掉上面的htaccess行時,解決了這個問題。

回答

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腳本中存在的任何安全漏洞很容易被利用/暴露。

相關問題