我想做這樣的任務。重定向從一個文件夾到PHP文件的所有訪問
我有一個文件夾/文檔/裏面有很多文檔文件。當用戶嘗試訪問該文件夾的內容時,我需要進行一些驗證,因此我需要將該訪問權重定向到根文件夾中的download.php文件,並將實際的REQUEST_URI傳遞給PHP文件。我嘗試這htaccess文件:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/doc.*$ [NC]
RewriteRule ^(.*)$ http://example.com/download.php?r=%{REQUEST_URI} [L,R=301]
但我得到ERR_TOO_MANY_REDIRECTS錯誤與重定向的URL是:?的download.php R = /的download.php,在這種情況下是不是我想要的(的download.php? r =/doc/abc/xyz.pdf是正確的)
有人能爲我解釋我做錯了什麼嗎?非常感謝你。
您的重寫cond行不正確,它將繼續循環。您需要添加一個文件檢查,以便每次都不使用重寫條件。所以它只會在它指向一個不存在的文件時使用它 添加以下行RewriteCond%{REQUEST_FILENAME}!-d – Brett