我有一个目录结构: 的httpdocs /文件/文件夹1 的httpdocs /文件/文件夹2 的httpdocs /文档/ folder3
httpdocs / document中的等我有一个.ht访问文件:
RewriteEngine on
RewriteRule ^(.*).(PDF)$ fileopen.php
并在此文件夹中我有fileopen.php
然后,此文件将打开folder1到folder3中的pdf文件,具体取决于httpdocs文件夹中文件请求发送的$ _Get请求。
我希望htaccess文件限制对所有文件夹的访问,但允许下载和打开fileopen.php请求的任何pdf。这可能是因为我无法让它发挥作用。
答案 0 :(得分:0)
尝试这样的事情:
RewriteEngine on
RewriteRule ^(.*).(PDF)$ fileopen.php?file=$1 [L]
RewriteRule ^(folder1|folder2|folder3) - [L,F]
答案 1 :(得分:0)
虽然可以使用mod_rewrite
规则阻止它。我想大多数简单而强大的解决方案是将folder1, folder2, folder3
移到DOCUMENT_ROOT 之外。
然后,您可以在同一级别拥有httpdocs
和新pdfdir
。然后,pfdir
可以包含folder1, folder2, folder3
。
这样的事情:
---> httpdocs/
----------> .htaccess
----------> fileopen.php
----------> documents/
---> pdfdir/
----------> folder1/
-------------------> foo.PDF
----------> folder2/
-------------------> bar.PDF
----------> folder3/
-------------------> baz.PDF
这种方式pdfdir
及其内容无法通过网络访问,您的index.php
仍然可以使用fopen
等文件功能访问它们。