我有一个codeigniter网站结构如下:
website.org/files/stuff/1/example.pdf
website.org/www/index.php
所以所有文件(许多是通过CMS上传的)都存储在web根目录上方的文件目录中。但是,您可以直接访问它们,因为有一个服务器别名。
现在,一些文件应该只有在用户登录时才能访问。这意味着如果有人试图访问:
website.org/files/special/2/doc.pdf
它应该首先点击一个php脚本,看看用户是否登录,如果是,加载文件。
有谁能告诉我最简单的方法吗?将此规则添加到您的.htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^/files/([.*]+)$ /loadfile'.php?file=$1
应该在loadfile.php
上创建一个变量$_GET['file']
,其值为special/2/doc.pdf
。从那里检查用户会话并相应地加载文件。