我们的服务器上通过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机器。任何想法不胜感激!
我发现this bug report与解决方法:在解决了该问题apache的主机配置禁用多视图。多视图是防止我基本上都是从一些重命名文件扩展名。