使用重写规则和php脚本保护某些文件(基于登录的会话)

使用重写规则和php脚本保护某些文件(基于登录的会话),php,rewrite,password-protection,Php,Rewrite,Password Protection,我有一个codeigniter网站,其结构如下: website.org/files/stuff/1/example.pdf www.org/www/index.php 因此,所有文件(许多是通过CMS上传的)都存储在web根目录上方的文件目录中。但是,您可以直接访问它们,因为有一个服务器别名 现在,一些文件应该只有在用户登录后才能访问。这意味着如果有人试图访问: website.org/files/special/2/doc.pdf 它应该首先点击一个php脚本,查看用户是否登录,如果是,加载

我有一个codeigniter网站,其结构如下:

website.org/files/stuff/1/example.pdf

www.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
上创建一个变量
$\u GET['file']
,其值为
special/2/doc.pdf
。从那里检查用户会话并相应地加载文件