通过 webdav 删除或重命名文件夹时出现“选项指令禁止目录索引”

通过 webdav 删除或重命名文件夹时出现“选项指令禁止目录索引”

我尝试通过 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

相关内容