客户端(Apache2 + WebDAV)不持有请求的权限


A requested privilege is not held by client (Apache2 + WebDAV)

这让我发疯了。我有一个在 Debian Wheezy 服务器上启用了 WebDAV 的 Apache2 服务器。我可以访问它并从中读取,它似乎运行正常。

在我的 Windows 7 笔记本电脑上,我正在运行一个名为 NetDrive2 的软件,该软件将网络驱动器装载到我的 WebDAV 文件夹,以便我可以使用驱动器号访问它。

每当我尝试将文件从Windows 7笔记本电脑复制到WebDAV驱动器时,我有时会收到错误消息:

错误 0x80070522:客户端未持有所需的特权。

WebDAV 文件夹具有基本身份验证类型,并且我提供了正确的用户/通行证。它不是SSL。

我自己做了一些调试,但我不确定,但似乎我无法创建与同一目录中的文件同名的文件夹:

文件夹: - 文件.php - file/(无法创建此目录,因为 file.php 存在)。

有人有什么想法吗?我被困住了!

好的,所以进一步谷歌搜索我终于找到了导致问题的原因。我不敢相信那里的任何教程都没有提到这一点。

这家伙给了我答案:Apache Webdav,存在文件测试时无法创建"test"文件夹.txt

基本上,您必须将 AllowOverride noneOptions None添加到您的 webdav 目录中。

这是我在 Apache2 中对我的 webdav 主机的最终配置:

Alias /devshed /home/www/sites/dev
Alias /devsheddav /home/www/sites/dev
<Directory /home/www/sites/dev/>
        AllowOverride none
        Order allow,deny
        Allow from all
        Options +Indexes +MultiViews
        IndexOptions FancyIndexing
</Directory>

<Location /devshed>
        DAV Off
        Order allow,deny
        Allow from all
        AuthName "Pennybridge Devshed Web"
        AuthType Basic
        AuthUserFile /home/www/htaccess/sites/dev/dev.htpasswd
        Require valid-user
</Location>
<Location /devsheddav>
        DAV On
        Options None
        Order allow,deny
        Allow from all
        AuthName "Pennybridge Devshed WebDAV"
        AuthType Basic
        AuthUserFile /home/www/htaccess/sites/dev/dev.htpasswd
        Require valid-user
        php_flag engine off
        BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
        DirectoryIndex disabled
</Location>