【问题标题】:Symlink folder on websiteA within root folder of websiteB网站根文件夹内网站上的符号链接文件夹
【发布时间】:2017-08-16 07:35:01
【问题描述】:

我在 websiteA 上为文件夹“test/”创建了一个符号链接,以指向 websiteB 的根文件夹:

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属于不同的用户和用户组。

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


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

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

【问题讨论】:

  • 你重启了Apache服务器吗?
  • 是的,我做到了。服务器已重新启动

标签: php wordpress apache .htaccess symlink


【解决方案1】:

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

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

我会在更公共的路径中设置两个域,例如 /var/www/,当您可以设置两个域时,Apache 将不会遇到权限问题。

【讨论】:

  • 我希望更改特殊权限。我尝试将域A 中的用户添加到与域B 相同的用户组,但没有成功。
【解决方案2】:

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

一种解决方法是使用一个包含两个根的文件夹,例如/var/www/combine 与 /var/www/combine/rootA 和 /var/www/combine/rootB 在里面。

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

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 2020-04-04
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多