Apache 2 不允许符号链接或链接目标不可访问

Apache 2 不允许符号链接或链接目标不可访问

虽然这个问题的标题与已经提出的问题相符,但就我而言,我已经设置了Options +FollowSymLinks

设置如下:我的托管设置包括htdocs/HTTP 网站的默认文档根目录和htdocs-secureHTTPS 的目录。它们适用于需要不同 HTTPS 版本的网站。

如果两者共享相同的文件,我会创建一个从 htdocs-secure 到 htdocs 的链接,ln -s htdocs htdocs-secure但问题来了!日志仍然显示Symbolic link not allowed or link target not accessible: /path/to/htdocs-secure

Vhost 片段

    Header always set Strict-Transport-Security "max-age=500"
    DocumentRoot /path/to/htdocs-secure
    <Directory "/path/to/htdocs-secure">
        allow from all
        Options +FollowSymLinks
    </Directory>

我认为这是正确设置。该站点的 HTTP 版本可以访问,因此看起来不像是权限问题。

如何解决这个问题?

[添加] 其他信息:我使用 MPM-itk,并将其设置AssignUserId为两个目录的所有者/组

答案1

我猜这个问题是由于你的DocumentRoot已经是一个符号链接。因此该<Directory>子句不会匹配,因为没有该名称的实际目录,只有符号链接。也许您可以设置FollowSymLinks选项/path/to,但您必须尝试是否有效。

有什么理由不让htdocs目录本身DocumentRoot同时用于 HTTP 和 HTTPS 吗?毕竟,当您对它们进行符号链接时,它们看起来总是相同的,因此您不妨首先使用相同的目录。

相关内容