htaccess配置未正确配置

时间:2013-10-10 13:48:28

标签: apache .htaccess mod-rewrite configuration

我有一个目录结构: 的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。这可能是因为我无法让它发挥作用。

2 个答案:

答案 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等文件功能访问它们。