我在 Debian 上使用 ownCloud 的 Apache 上的 X-Sendfile 时遇到了问题。当我想下载单个文件时,出现了错误:
该服务器上未找到请求的 URL /owncloud/index.php/apps/files/ajax/download.php。
我的配置是sites-enabled/000-default
(和000-default-ssl
)Web服务器根目录是/media/usb/www/
和ownCloud数据文件夹是/media/usb/owncloud/data
<Directory /media/usb/www/owncloud>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
SetEnv MOD_X_SENDFILE_ENABLED 1
XSendFile On
XSendFilePath /tmp/oc-noclean
XSendFilePath /media/usb/owncloud/data
</Directory>
答案1
尽管已经过去了五个月……
您的配置似乎没问题。这是我的配置,可以正常工作(修改 XSendFilePath 后):
<Directory /home/usr/public_html/oc>
AllowOverride All
Satisfy Any
<IfModule mod_xsendfile.c>
SetEnv MOD_X_SENDFILE_ENABLED 1
XSendFile On
XSendFilePath /home/usr/data/owncloud
</IfModule>
</Directory>
ownCloud 运行于/home/usr/public_html/oc
,相应的数据位于/home/usr/data/owncloud
不要忘记重新启动 Apache
service apache2 restart
答案2
最新消息:ownCloud 8.2.0 已删除 XSendfile 支持 - 请参阅https://github.com/owncloud/core/issues/18870了解更多详情。必须这样做,否则无法正确锁定。