1

我正在解决一个问题,即用户可能会访问存储在服务器根目录之外的文件夹中的图像(在本例中为 PDF 文件)。通常,我的应用程序通过 PHP 脚本和会话验证用户。现在没有发生的是阻止未登录的用户潜在地访问 PDF。

我正在寻找的解决方案(我认为)需要与 Apache 绑定。我看到了一个使用 RewriteMap 和 RewriteRule 的有趣解决方案,但是该示例涉及将其放入 PDF 目录中的 .htaccess 文件中。Apache 无法做到这一点(错误:此处不允许使用 RewriteMap)。我相信重写指令需要进入我可以访问的 httpd.conf。

所以我找到的例子(导致'rewritemap not allowed here')在这里: RewriteEngine On RewriteMap auth prg:auth.php RewriteRule (.*) ${auth:$1}

auth.php 只检查 PHP 会话并在需要时重定向到登录脚本。

我读到我必须把它放在我的 httpd.conf 中。我将如何指定 RewriteMap 应该只出现在特定目录(包括子目录)上?

4

1 回答 1

0

第一,确保你必须把它直接放在 httpd.conf 中。例如,在 Debian 系统上,您有 1 个虚拟主机文件(虚拟主机通常是一个网站)因此,您必须将 rewriteMap 放在这样的“目录”中:

<Directory /full/path/to/your/pdfs>
    RewriteEngine on
    ...
</Directory>
于 2012-03-23T22:41:09.537 回答