htaccess rerwrite重定向访问文件夹到php文件

时间:2018-06-02 01:04:45

标签: .htaccess

我试图阻止在记录的会话之外访问文件。所有文件和文件夹都位于名为 _memberFiles 的目录下。例如:

/_memberFiles/user1/myphoto.jpg /_memberFiles/user1/docs/resume.pdf

我想避免以HTML src="/_memberFiles/user1/myphoto.jpg"格式显示的链接,所以我写了以下内容:

 RewriteCond %{QUERY_STRING} (.*)
 RewriteRule ^_get/$ /_memberFiles/getcontent.php?key=%1

并将链接更改为src="/_get/?St8ujsfYDXECuvnMCIJwukS%2FSPZWkFttVqi9mwoREzjsche4bDk9"

St8ujsfYDXECuvnMCIJwukS%2FSPZWkFttVqi9mwoREzjsche4bDk9是加密内容,基本上是/user1/myphoto.jpg

php文件将处理加密密钥,构建文件路径并返回内容:

  header('Content-type: '.mime_content_type($DecruptedFullFilePath)));
  readfile($DecruptedFullFilePath);

一切正常。 但是任何人仍然可以转到/_memberFiles/user1/myphoto.jpg并转到文件。

我正在尝试将/_memberFiles/的任何流量转到/_memberFiles/getcontent.php?key=%1,到目前为止我无法让它工作。这是我最近的尝试:

 -- capture query string (or none)
 RewriteCond %{QUERY_STRING} (.*)

 -- any request with _get goes to _memberFiles passing parameters
 RewriteRule ^_get/$ /_memberFiles/%1

 -- any request with _memberFiles should go to .php with parameters
 RewriteRule ^_memberFiles/$ /_memberFiles/getcontent.php?key=%1

请帮助教育我!

0 个答案:

没有答案