Apache中唯一的虚拟主机/ var / www / html作为其文档根目录,html是/ home / yanzs / web / some-project /等符号链接。我正在这样做,以便我可以轻松地在新的Web项目上工作,而无需在apache中创建新的虚拟主机。所以这是我的问题,当我访问localhost时,它说
Forbidden
You don't have permission to access / on this server.
如何为“/ home / yanzs / web / some-project /”目录设置权限,或者更好地为其父目录“/ home / yanzs / web /”设置权限?
这是/ var / www /目录的默认设置,FollowSymLinks选项是否自动为/ var / www下符号链接目标的目录设置权限?
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
更新:我也尝试使用Alias设置,也不起作用。 更新2 :如果我将文档根目录设置为/ var / www / html,并在html目录下创建一个符号链接,指向/ var / www / project。然后它工作,Alias方法也工作。它似乎与所有者或其他文件权限设置有一些东西。 / var / www下的所有文件和文件夹都归root所有,而/ home / yanzs / web下的所有文件和文件夹都归yanz所有。
解决方案:
事实证明,所有父目录的权限也很重要。其中一个父目录是从Windows复制的,默认情况下没有所需的权限。有关详细信息,请参阅(13) Permission Denied。学到的一个教训是永远不要忘记检查错误日志,即使您知道权限与浏览器的输出相关。
答案 0 :(得分:0)
事实证明,所有父目录的权限也很重要。其中一个父目录是从Windows复制的,默认情况下没有所需的权限。有关详细信息,请参阅(13) Permission Denied。学到的一个教训是永远不要忘记检查错误日志,即使您知道权限与浏览器的输出相关。