网站根文件夹内网站上的符号链接文件夹

Symlink folder on websiteA within root folder of websiteB

我在网站 A 上为文件夹 "test/" 创建了一个符号链接,以指向网站 B 的根文件夹:

ln -s /home/domainB/public_html /home/domainA/public_html/test

当我访问 www.domainA.com/test 时,我一直看到 wordpress 的 404 页面,并且在 apache 错误日志中我一直看到 "Permission denied" 错误;说无法检查 htaccess 文件,确保它是可读的并且'/home/domainA/public_html/test/'是可执行的。

注:网站A和B属于不同的用户和用户组。

我尝试将用户 A 添加到与用户 B 相同的组中,但仍然出现相同的错误消息。


更新: 现在的错误消息与访问权限有关,即使两个用户都属于同一组,但我仍然在屏幕上看到相同的页面(404 页面)。

SoftException in Application.cpp:447: Mismatch between target UID (1004) and UID (1000) of file

Apache 的权限被拒绝错误通常意味着 Apache 无法读取文件。

由于 Apache 可以访问一个 /home/ 文件夹但不能访问另一个文件夹,我假设 Apache 以每个用户的特殊权限运行。在这种情况下,1 个用户无法访问另一个用户的文件。

我会在更多 public 路径中设置两个域,例如 /var/www/ 当您可以设置两个域时,Apache 将不会有权限问题。

出于安全原因,无法离开当前范围。因此,如果网页的根文件夹是 /var/www/rootFolderA,您只能访问此文件夹中的任何内容。

一种解决方法是创建一个包含两个根目录的文件夹,例如/var/www/combine 里面有 /var/www/combine/rootA 和 /var/www/combine/rootB。

然后您的域需要指向 /var/www/combine,它会自动将您引向 rootA,例如使用一个 htaccess 文件。 然后你可以从 rootA 切换到 rootB。