htaccess选择性转发

时间:2011-10-19 23:23:29

标签: php .htaccess codeigniter

这是一个独特的问题,我似乎无法在任何地方找到答案!我是新手玩htaccess文件。这就是我想要做的事情,让我知道这是否可能:

当有人直接访问某个目录时,我正在尝试重定向,但是,我的服务器需要能够访问该目录以启动文件下载。

以下是我用来完成重定向的内容:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ ../ [NC]

它就像一个魅力,但是当我的脚本试图访问文件系统时,它自然会被重定向。

这样做的目的是受保护的文件下载。用户的访问权限通过受保护区域下载,下载链接类似于http://example.com/download/superlongidhash

然后脚本读取并读取此URL,制定文件的实际路径并相应地发送php标头:

header("Content-type: application/force-download"); 
header("Content-Transfer-Encoding: Binary"); 
header("Content-length: ".filesize($path)); 
header("Content-disposition: attachment; filename=" . basename($path) . ""); 
readfile($path); 

任何帮助都会非常感激:)如果有更好的方法,请告诉我!

仅供参考,这都在CodeIgniter框架内

1 个答案:

答案 0 :(得分:0)

您可以检查http_referrer是否适合您的网站。如果不是,您可以将用户重定向到您的主页(或任何您想要的位置)。

看一下这篇文章,我发现了你想做的事情。 http://www.dialme.com/m/articles/view/How-to-Prevent-direct-access-to-files-and-folders

我希望这会有所帮助。