我有一个正则表达式,将文件夹“/ downloads”中的任何文件重定向到PHP脚本,然后PHP脚本提供文件(以及其他内容)。但是,我想在那里有一些我可以查看的PHP文件,而不是让它们下载(显然也是一个安全问题)。但是,我对正则表达式知之甚少。我正在寻找它,但没有把它弄好:(
<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。如果你能解释它为什么不下载自己,那就太好了。当我去download / index.php时它会下载,但不是简单/下载。没有必要的信息让它工作,但想知道:)
感谢您的回复。
答案 0 :(得分:0)
使用RewriteCond
禁止您不想要的匹配:
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule (.*) /downloads?file=$1 [R]
(我删除了L
,因为它在这里没有任何用处)