即使文件存在,在WEBDAV服务器上移动文件仍返回404

时间:2019-02-08 00:15:57

标签: apache http https webdav cadaver

我无法通过webdav来回移动服务器上的特定文件,也找不到问题的根源。一些示例:

作品:README.md-> README1.md-> README.md

作品:db.xml.gz-> db.xml.bla-> db.xml.gz

不起作用:db.xml.gz-> db.xml.gz.lock-> db.xml.gz(结果为404

cadaver进行了尝试:

dav:/webdav/User/> ls
Listing collection `/webdav/User/': succeeded.
        .htaccess                            117  Jun  6  2018
        db.xml.gz                            635  Feb  7 21:36
dav:/webdav/User/> mv db.xml.gz db.xml.gz.lock
Moving `/webdav/User/db.xml.gz' to `/webdav/User/db.xml.gz.lock':  succeeded.
dav:/webdav/User/> mv db.xml.gz.lock db.xml.gz
Moving `/webdav/User/db.xml.gz.lock' to `/webdav/User/db.xml.gz':  failed:
404 Not Found
dav:/webdav/User/> ls
Listing collection `/webdav/User/': succeeded.
        .htaccess                            117  Jun  6  2018
        db.xml.gz.lock                       635  Feb  7 21:36
dav:/webdav/User/> mv db.xml.gz.lock db.xml
Moving `/webdav/User/db.xml.gz.lock' to `/webdav/User/db.xml':  failed:
404 Not Found
dav:/webdav/User/> mv db.xml.gz.lock db.bla
Moving `/webdav/User/db.xml.gz.lock' to `/webdav/User/db.bla':  succeeded.
dav:/webdav/User/> mv db.bla db.blubb
Moving `/webdav/User/db.bla' to `/webdav/User/db.blubb':  succeeded.
dav:/webdav/User/> mv db.blubb db.bla
Moving `/webdav/User/db.blubb' to `/webdav/User/db.bla':  succeeded.

如果源与目标相同,加上其他文件结尾,则似乎失败。我读到一些Windows服务器会跳过导致问题的文件结尾,但这是一台Linux计算机。 任何想法高度赞赏!

1 个答案:

答案 0 :(得分:0)

我找到了this bug report的解决方案:在apache主机配置中禁用MultiViews解决了该问题。 MultiViews基本上阻止了我重命名某些文件扩展名。