我使用.htaccess阻止了对 FILES / 文件夹的直接访问,并使用以下代码
Order Deny,Allow
Deny from all
现在,无法通过直接链接访问文件。例如http://domain.com/files/anyfile.ext
但是,我现在想要的只是如果请求通过 download.php
header("location: files/link");
OR
<a href="files/link">Download</a>
然后,.htaccess应该允许文件下载(仅当引用者 download.php
我需要在.htaccess中使用什么样的规则?
答案 0 :(得分:0)
您只需将文件推送给用户,如PHP手册中的这些示例所示: http://www.php.net/manual/en/function.readfile.php#refsect1-function.readfile-examples
<?php
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
这将自动启动文件monkey.gif
的文件下载,无论Apache拒绝设置如何,都应启动下载。
请务必检查您的脚本是否可访问,并且应该可以正常运行。
希望这会有所帮助。