我刚刚在我的 apache2.2.15 网络服务器(在 centos6.5 上)上安装并配置了 mod_xsendfile。一切似乎运行正常,但我不确定它是否能正常工作。我向虚拟主机添加了XSendFile On
和XSendFilePath /path/to/downloaded/files
,并将标头更改为:
header('X-Sendfile: '.$file);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' $file . '"');
现在,使用 Google Chrome 检查器,我可以检查每次下载文件时从服务器获取的标头,但 mod_xsendfile 会将标X-Sendfile
头移开,而且我在日志中找不到任何有关 sendfile 的消息。那么,我如何确切知道下载已由 apache 处理?
谢谢你的帮助:) Marc
答案1
X-Sendfile 删除了 X-Sendfile 标头。因此,为了检查它是否有效:
- 检查标题才不是当 X-Sendfile 启用时存在
- 如果禁用 X-Sendfile,请检查标头是否存在。您的文件不应加载
您可以使用 curl 查看标题:
curl -I 网址
希望能帮助到你 :)