我正在研究用户可能访问存储在服务器根目录下的文件夹(本例中为PDF文件)的问题的解决方案。通常,我的应用程序通过PHP脚本和会话验证用户。目前没有发生的事情是阻止未登录的用户访问PDF。通过使用mod_rewrite检查当前PHP会话来保护图像不受直接访问的影响
我正在寻找的解决方案(我认为)需要与Apache捆绑在一起。我看到一个有趣的解决方案,使用RewriteMap & RewriteRule,然而这个例子涉及将这个文件放在PDF目录中的.htaccess文件中。无法用Apache做到这一点(错误:这里不允许RewriteMap)。我相信重写指令需要放在我可以访问的httpd.conf中。
所以(即导致 'RewriteMap指令这里不允许')我发现的例子是在这里: RewriteEngine叙述在 RewriteMap指令AUTH PRG:auth.php 重写规则$(*){AUTH:$ 1}
auth.php只检查PHP会话并在需要时重定向到登录脚本。
我在读我必须把它放在我的httpd.conf中。我该如何指定RewriteMap应该只出现在特定的目录(包括子目录)?
从MVC模式借款,您可以将所有请求重定向到引导文件,然后根据权限您可以加载请求的文件或默认文件。 – Moses 2012-03-23 22:42:50
@摩西 - 这就是我在这里或多或少去的地方。自从发布我的问题以来,我没有时间研究/测试apache配置 - 所以我仍然坚持如何正确重定向流量。 – 2012-03-29 17:36:34