我正在使用 apache2 网络服务器并且我已经安装了 mod_xsendfile 我有类似的东西:
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="file.zip"');
//header("X-Accel-Redirect: /file/protected/file.zip"); //for nginx server
header('X-Sendfile: /protected/file.zip');
exit();
我在 /etc/apache2/apache2.conf 中启用:
XSendFile on
当我单击 /file/index.php 中的下载按钮时,它给了我错误,index.php 位于 /file/ Not Found
我一开始就尝试过移动header('X-Sendfile: /file/protected/file.zip');
,但它是一样的..
当我使用header("X-Accel-Redirect: /file/protected/file.zip");
它时它工作但给了我空的 .zip 文件,无论如何它不是 apache2 服务器..
文件只有几 KB
谁知道怎么修它 ?
编辑: 它在error.log中说:给定路径高于根路径:xsendfile:无法找到文件:/protected/file.zip
我设置了 XSendFilePath /protected ,现在的错误是:
(2)No such a file or directory: xsendfile cannot open file: /protected/file.zip,referer: http://domain.com/file/