Apache 的 WebDAV 仅适用于 Ubuntu 客户端

Apache 的 WebDAV 仅适用于 Ubuntu 客户端

WebDAV(通过 SSL)配置在我的根服务器上的 VirtualHost 上。SSL 在所有客户端上工作正常,并且在此虚拟主机下运行的其他应用程序也正常工作。不幸的是,WebDAV 不行。

Nautilus 作为客户端运行良好,cadaver 作为客户端仅对部分 (php) 文件有效,并非全部。旧版 Internet Explorer 6 也能运行,但 Mac OS X 和 Windows 上的最新客户端无法运行。

两个 dav 模块均已启用,文件和目录均归 www-data:www-data 所有,以下摘录是我的配置的一部分(匿名)。

NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:443>
    ServerName server.example.com

[...]

    # WebDAV
    DavLockDB /srv/dav/lockdb

[...]

    Alias /serendipity "/srv/www/webdav"
    <Directory "/srv/www/webdav">
        DAV on
        ForceType text/plain
        Options +Indexes
        AllowOverride None
        AuthType Basic
        AuthName "Serendipity Testblog"
        AuthUserFile /srv/pwd/serendipity
        Require valid-user
    </Directory>

[...]

</VirtualHost>

有任何想法吗?

答案1

补充一点:DAV 本身可以工作并显示目录和文件,但文件检索仅会产生文件的 HTTP 解析表示。这意味着,PHP 会被解析,并且下载的文件会显示该文件,就像在浏览器中查看一样。

答案2

在 DAVLockDB 指令下方添加一行,内容如下:

ForceType text/plain

这将告诉 Apache 不要评估脚本而是回答其文件内容。

祝你好运...

相关内容