1

我有一个目录结构: httpdocs/documents/folder1 httpdocs/documents/folder2 httpdocs/documents/folder3

在 httpdocs/document 等我有一个 .ht 访问文件:

RewriteEngine on
RewriteRule ^(.*).(PDF)$ fileopen.php

在这个文件夹中我有 fileopen.php

然后,此文件根据 httpdocs 文件夹中的文件请求发送的 $_Get 请求打开文件夹 1 到文件夹 3 中的 pdf 文件。

我希望 htaccess 文件限制对所有文件夹的访问,但允许下载和打开 fileopen.php 请求的任何 pdf。这可能是因为我无法让它工作。

4

2 回答 2

0

尝试这样的事情:

RewriteEngine on
RewriteRule ^(.*).(PDF)$ fileopen.php?file=$1 [L]
RewriteRule ^(folder1|folder2|folder3) - [L,F]
于 2013-10-10T13:54:01.457 回答
0

虽然可以使用mod_rewrite规则阻止它。我想最简单和强大的解决方案是移到folder1, folder2, folder3DOCUMENT_ROOT 之外

然后你可以拥有httpdocs和一个新pdfdir的在同一级别。pfdir然后可以包含folder1, folder2, folder3.

像这样的东西:

---> httpdocs/
----------> .htaccess
----------> fileopen.php
----------> documents/
---> pdfdir/
----------> folder1/
-------------------> foo.PDF
----------> folder2/
-------------------> bar.PDF
----------> folder3/
-------------------> baz.PDF

通过这种方式pdfdir,其内容无法从 Web 访问,您index.php仍然可以使用fopenetc 文件功能访问它们。

于 2013-10-10T14:19:29.313 回答