I'm using apache2 webserver and I have installed mod_xsendfile I have something like:
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();
I enabled in /etc/apache2/apache2.conf:
XSendFile on
When I click on Download button in /file/index.php it gives me error, index.php that is located in /file/ Not Found
I tried moving header('X-Sendfile: /file/protected/file.zip');
at the first place but it's the same..
When I use header("X-Accel-Redirect: /file/protected/file.zip");
It works but gives me empty .zip file, anyway its for not apache2 server..
File has only few KB
Anyone know how to fix it ?
EDIT: It says in error.log: The given path was above the root path: xsendfile: unable to find file: /protected/file.zip
I set XSendFilePath /protected and the erro now is:
(2)No such a file or directory: xsendfile cannot open file: /protected/file.zip,referer: http://domain.com/file/
Look up the mod xsendfile documentation. You have to set the directories that its allowed to serve files from. If you've done that, then I would suspect some other issue, such as symlinks not being served, etc....