如何在Apache中启用HTTP-DAV?

我试图启用在CentOS 5.4上运行的Apache(httpd.x86_64 2.2.3-43.el5.centos)上的HTTP-DAV。

我在我的httpd.conf中有以下相关条目。

LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so <IfModule mod_dav_fs.c> DAVLockDB /var/lib/dav/lockdb </IfModule> <Location /var/www/html/updates> Dav On </Location> 

/var/www/html/是Apache根目录。 我已经在错误日志中重新加载了Apache,没有任何错误。 我也可以在Firefox中通过HTTP访问这个目录。

我有一个正在开发的应用程序需要通过HTTP-DAV与Web服务器进行通信,而是报告Web服务器返回“(405)方法不允许”。 这发生在发送PROPFIND请求时。

发生这种情况时,Apache的访问日志会报告下列情况:

 192.168.1.29 - - [25/Nov/2010:17:21:26 +0200] "PROPFIND /updates/2.0.1.0/ HTTP/1.1" 405 320 "-" "-" 

据推测,HTTP-DAV未启用。 我究竟做错了什么?

回复 LimitExcept在任何Apache的configuration文件中都没有LimitLimitExcept指令。 /var/www/html/updates//var/www/html/没有.htaccess文件。

回复Zoredache: Apache有写访问更新。

回复iiegn:我给尸体一个尝试。 显然WebDAV没有启用。

 dav:!> open http://hybrid/updates/ Could not access /updates/ (not WebDAV-enabled?): 405 Method Not Allowed Connection to `hybrid' closed. 

日志中的唯一相关事件(LogLeveldebugging)位于访问日志中:

 192.168.1.240 - - [26/Nov/2010:14:41:45 +0200] "OPTIONS /updates/ HTTP/1.1" 200 - "-" "cadaver/0.22.3 neon/0.25.5" 192.168.1.240 - - [26/Nov/2010:14:41:45 +0200] "PROPFIND /updates/ HTTP/1.1" 405 319 "-" "cadaver/0.22.3 neon/0.25.5" 

  • 如何使用Web浏览器上传到WebDAV?
  • 尸体自动login(WebDav客户端)
  • Webdav安装在XP上
  • 使“安装”PHP WebDav时出错
  • 我如何获得WebDAV的工作?
  • Webdav将REMOTE_USER全部改写为空
  • 2 Solutions collect form web for “如何在Apache中启用HTTP-DAV?”

    我终于弄明白了。

    代替

     <Location /var/www/html/updates> Dav On </Location> 

    它需要( Directory而不是Location

     <Directory /var/www/html/updates> Dav On </Directory> 

    设置似乎足够了。

    为了testing这个设置,你可以尝试一下尸体 ,Unix的命令行WebDAV客户端。 在那里,从"> open URL" ,看是否可以打开连接。 然后, "> propget .""> ls"

    …和PROPFIND请求注意: http : //httpd.apache.org/docs/2.2/mod/mod_dav.html#davdepthinfinity 。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.