我尝试通过 webdav 删除文件夹,但客户端上只显示 403,Apache 错误日志中显示“选项指令禁止目录索引”。我为文件夹启用了“选项索引”,客户端和日志中都不再出现错误,但我仍然无法通过 webdav 重命名或删除文件夹。
知道为什么我无法通过 webdav 编辑文件夹吗?
我正在运行 WAMP,默认安装的是 Apache 2.2.17。我可以连接、创建文件、删除文件、重命名文件等。我可以创建文件夹,但不能在创建文件夹后删除或重命名它们。
在访问日志中,每当我尝试删除时,都会收到以下信息:“DELETE /uploads/shahs HTTP/1.1”301 243
在错误日志中,我得到:Options 指令禁止目录索引:
当尝试删除或重命名文件夹时,Webdav 客户端会给出 403 错误。
有一次,我添加了“选项索引”,Apache 错误日志中不再出现错误消息,webdav 客户端上也不再出现 403 错误,但现在删除或重命名没有任何效果。没有错误消息,但什么也没有发生。
答案1
Directory index forbidden by Options directive
我在 Apache“error_log”中遇到了同样的错误,并通过编辑“httpd-dav.conf”并添加以下行来更正它:
Options Indexes FollowSymLinks
在此上下文中:
<Directory "/absolute/path/to/my/fancy/directory">
Dav On
Options Indexes FollowSymLinks
Order Allow,Deny
Allow from all
AuthType ...
此后,不再出现错误。
答案2
本地文件系统权限不正确?Apache WebDAV 配置错误?SELinux?文件系统以只读方式挂载?月相不理想?
如果没有更多关于 Web 服务器配置的信息,很难提供更有针对性的建议。您的 Apache 访问或错误日志或系统日志中是否有任何有用的信息?
答案3
事实证明,像这样的请求DELETE /uploads/shahs
并不完全正确,应该有一个尾部斜杠DELETE /uploads/shahs/
,或者至少 Apache 认为如此。要让 Apache 接受您的 webdav 客户端,您可以SetEnv redirect-carefully 1
在 httpd.conf 中添加行,如下所示:
<Directory "/mywebdav">
SetEnv redirect-carefully 1
Dav On
</Directory>
仍然适用于 Apache 2.4 和 KDE5。
资料来源: http://support.sas.com/rnd/javadoc/93/Foundation/index.html?com/sas/services/webdav/package-summary.html https://github.com/lookfirst/sardine/issues/119