【问题标题】:Can't access symlinks within webdav folders [using apache 2.2.22] or map drive for explorer [windows]无法访问 webdav 文件夹中的符号链接 [使用 apache 2.2.22] 或资源管理器的映射驱动器 [windows]
【发布时间】:2026-01-30 08:00:01
【问题描述】:

我使用 apache 2.2.22 和 debian stable 作为服务器。

我为 webdav 共享创建了一个虚拟主机。我可以通过 Web 浏览器访问 /webdav 中包含的所有符号链接,但不能从 webdav 客户端访问。如果我将文档或适当的文件夹放在 /webdav 中,我可以在客户端中看到它们。

这是我的共享配置:

<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
    ServerName  mydomain.com
    ServerAlias *.mydoman.com   
    DirectoryIndex index.html
    Options Indexes FollowSymLinks
    DocumentRoot /var/www/html/www.mydomain.com/htdocs/
    ScriptAlias /cgi-bin/ /var/www/html/www.mydomain.com/cgi-bin/
    <Location /cgi-bin>
        Options +ExecCGI
    </Location>
    ErrorLog  /var/www/html/www.mydomain.com/logs/error.log
    CustomLog /var/www/html/www.mydomain.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@mydomain.com
    ServerName  mydomain.com
    ServerAlias *.mydomain.com
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/mykey.crt
    SSLCertificateKeyFile /etc/apache2/ssl/mykey.key
    DirectoryIndex index.html
    Options Indexes FollowSymLinks
    DocumentRoot /var/www/html/www.mydomain.com/htdocs/
    ScriptAlias /cgi-bin/ /var/www/html/www.mydomain.com/cgi-bin/
    <Location /cgi-bin>
        Options +ExecCGI
    </Location>
    ErrorLog  /var/www/html/www.mydomain.com/logs/error.log
    CustomLog /var/www/html/www.mydomain.com/logs/access.log combined

Alias /webdav /var/www/html/mydomain/htdocs
    <Location /webdav-public>
    Options Indexes FollowSymLinks
    #AllowOverride None
    DAV On
    AuthType Basic
    AuthName "webdav"
    AuthUserFile /etc/apache2/webdav.password
    Require valid-user
    </Location>
</VirtualHost>

root 和 webdav 文件夹的权限: 所有者:root,创建​​/删除;组 www-data,访问;其他,没有

符号链接指向的公用文件夹的权限: 所有者:我的用户名,创建/删除;组:www-data,访问;其他、访问

有什么想法吗?显然我正在尝试学习如何解决 apache,所以上面可能存在一些错误,我欢迎任何离题的批评。

【问题讨论】:

    标签: apache ssl webdav


    【解决方案1】:

    原来如此:

    <Location /webdav-public>
    

    上述位置可以是符号链接。但是,无论出于何种原因,都不支持共享位置中的符号链接(至少对于 debian stable repo 中的 apache 2.2.22)。当我通过 firefox 或 chrome 访问时,它们会显示,但不是从 webdav 客户端或在 Windows 资源管理器中映射时(在家庭网络上,未在其他地方测试)。

    我不得不重新排列我的文件以适应 webdav,这很糟糕。

    【讨论】: