pluveto/flydav

error message "webdav: prefix mismatch"

Closed this issue · 8 comments

Hello, developer!
I tested Flydav on Windows11 and found the following problems:

Run "flydav" in the command line to access Webdav successful. The actual physical path is C:\Users\xxx\AppData\Local\Temp\flydav.

Run "flydav.exe -c flydav.toml", The log sends an error message indicating "webdav: prefix mismatch". And cannot access Webdav.

May I ask if my configuration file was incorrectly configured? Thanks!
flydav.toml.txt
webdav.log

sub_fs_dir should be a relative path, please check

I tested the following, all with the same error

sub_fs_dir = ""
sub_fs_dir = "/"
sub_fs_dir = "\\"

Do you have any folder called /clan/?

fs_dir = "D:\tmp"
[[auth.user]]
username = "clan"
sub_fs_dir = ""
sub_path = ""

Now I changed the above configurations, WebDAV work successful.

but I don't understand the mapping relationship between sub_fs_dir sub_path and actual physical path

fs means file-system
path or sub_path is only a part of url

These naming may be confusing, I'll appreciate it if you can help me assign them better names.

I can understand the name of fs, path , sub_path. I just don't understand the mapping relationship between sub_fs_dir and actual physical path.

For example, I configured the following parameters:

host = "127.0.0.1"
port = 7086
path = "/webdav"
fs_dir = "D:\tmp"

[[auth.user]]
username = "clan"
sub_fs_dir = "clan"
sub_path = "/clan"

Which physical path does the webdav url "127.0.0.1:7086/webdav" and "127.0.0.1:7086/webdav/clan" actually point to?

127.0.0.1:7086/webdav/clan will be mapped to D:/tmp/clan
127.0.0.1:7086/webdav will be mapped to 127.0.0.1:7086/webdav
Usename has nothing to do with file system dir.

OK, I see.

thanks for your answer!