XAMPP 默认启用 WebDAV 模块但不开放访问、无认证、目录未创建,需取消 httpd.conf 中 dav_module 和 dav_fs_module 注释,启用 httpd-dav.conf,绕过 httpd-xampp.conf 的 LocationMatch 拦截,配置 Basic 认证并设 Registry BasicAuthLevel=2,否则 Windows 映射驱动器必失败。

XAMPP 默认已启用 WebDAV 模块,但默认配置不开放访问、无认证、目录未创建——直接用会 403 或 405 错误,且存在严重安全风险。
确认 mod_dav 和 mod_dav_fs 已加载
Apache 启动时若没加载这两个模块,DAV on 会报错或静默失效。XAMPP 8.x 版本默认编译了它们,但可能被注释掉。
- 打开
\xampp\apache\conf\httpd.conf - 确保以下两行未被注释(即前面没有
#):LoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav_fs.so - 搜索
Include "conf/extra/httpd-dav.conf",取消注释(XAMPP 1.77+ 默认已启用) - 重启 Apache 后执行
httpd -M | findstr dav(Windows)或httpd -M | grep dav(Linux/macOS),应输出dav_module和dav_fs_module
配置 WebDAV 目录并启用 Basic 认证
XAMPP 自带的 httpd-dav.conf 使用 Digest 认证(需 htdigest.exe),但 Windows 客户端(如“映射网络驱动器”)对 Digest 支持不稳定,容易卡在登录框或报 401;改用 Basic + SSL 是更稳妥的选择。
- 编辑
\xampp\apache\conf\extra\httpd-dav.conf - 替换原
块为以下内容(路径按需调整):<directory><br> DAV on<br> Require valid-user<br> AuthType Basic<br> AuthName "WebDAV"<br> AuthUserFile "C:/xampp/webdav/.htpasswd"<br> Options Indexes FollowSymLinks<br></directory>
- 创建目录:
mkdir C:\xampp\webdav - 生成密码文件:
cd \xampp\apache\bin && htpasswd -c ..\..\webdav\.htpasswd user1(按提示输入密码) - 确保 Apache 进程有读写权限:右键该目录 → 属性 → 安全 → 编辑 → 添加
Everyone或SYSTEM并勾选“修改”
绕过 XAMPP 的默认安全拦截规则
XAMPP 在 httpd-xampp.conf 中对 /webdav 路径做了全局 deny,即使你配了 ,也会被上层 拦截返回 403。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 打开
\xampp\apache\conf\extra\httpd-xampp.conf - 找到以
开头的区块 - 在该区块的
Deny from all行上方插入:Allow from 127.0.0.1 ::1
或更宽松地允许内网:Allow from 192.168.0.0/16 - 保存后重启 Apache;否则 Windows 映射驱动器时会立刻报“找不到网络名”或“拒绝访问”
客户端连接与常见失败点
Windows “映射网络驱动器”对 WebDAV 协议很挑剔,尤其在 HTTP(非 HTTPS)下,默认禁用不安全的 Basic 认证。
- 必须用完整 URL:
http://localhost/webdav(不是http://localhost:8080/webdav,除非你改了端口) - 若 Apache 改过端口(如 8080),需在 URL 中显式写出:
http://localhost:8080/webdav - 首次连接失败?检查注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel,设为2(启用 HTTP Basic) - 仍失败?临时关闭 Windows 防火墙,或添加入站规则放行 Apache 端口(TCP 80 / 8080)
- Mac/Linux 用户可用
curl -X PROPFIND http://user1:pass@localhost/webdav/ --data '' -v快速验证服务是否响应
最易被忽略的是 httpd-xampp.conf 的 LocationMatch 拦截和 Windows WebClient 的 BasicAuthLevel 注册表设置——这两处不处理,其他配置全对也连不上。










