dougai3418
dougai3418
2012-07-10 13:46

X-Sendfile错误,找不到文件

已采纳

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/

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • doutuan8887 doutuan8887 9年前

    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....

    点赞 评论 复制链接分享