我有一個正則表達式,可以將文件夾「/ downloads」中的任何文件重定向到一個PHP腳本,然後將該文件提供給該文件(以及其他內容)。但是,我想在那裏有一些我可以查看的PHP文件,而不是讓他們下載(顯然也是一個安全問題)。但是,我對這個正則表達式不太瞭解。我期待NITO,但沒有得到它的權利:(正則表達式排除特定文件
<IfModule mod_rewrite.c>
RewriteEngine on
#Redirect any file coming in to the downloads manager
RewriteRule ^(.+\.*) /downloads?file=$1 [R,L]
</IfModule>
我能找到到目前爲止可以工作的唯一事情是RewriteRule ^(.+\.php)$ - [L]
。但是,這是行不通的。如果任何人都可以很快解釋這一點,或如果你能解釋爲什麼它不能自行下載,那將會是很好的!
另外,正如你可能已經想出了這個重定向到/ downloads文件夾的index.php。它不會下載/ index.php,但不是簡單的/下載。不需要的信息,讓它工作,但想知道:)
感謝您的任何答覆。
在你的'RewriteRule',你的意思'。+ \。*'或'。+ \ .. *'?第一個查找以0或更多時間段結束的任何字符串,而第二個查找特定於其中某個句點的任何字符串(例如,擴展名)? – 2011-12-26 13:30:57
您是在Apache的'httpd.conf'文件中發佈的重寫代碼,還是在'.htaccess'文件中?如果'.htaccess'中的文件是'/ downloads'目錄下的文件,或者它在根目錄下?請澄清你的問題。另外,'/ downloads'中的哪些文件要以不同的方式處理?就目前來看,這個問題有點太模糊,無法準確回答。 – ridgerunner 2011-12-26 17:14:23
這是一個.htaccess,在/ downloads。 PHP文件不需要受到影響(不下載)。如果我以後可以添加其他文件類型或特定文件,那麼很好。對不起,不夠清楚! – 2011-12-26 17:54:17