如何授予 Apache 对目录的访问权限

如何授予 Apache 对目录的访问权限

我目前正在启动并运行一个本地托管的网站,但在从主机和其他计算机访问该网站时也遇到了问题。我已经在防火墙中创建了例外并转发了端口连接。我已经使用正确的代码创建了一个 .htaccess 文件,并编辑了所有其他文件以允许连接。当我在本地主机上使用网站的 URL 时,它可以正常工作,这是意料之中的。但是,当我在任何计算机上使用我的 IP 地址时,我收到以下错误(出于隐私考虑,我已将 IP 地址 X 化):

Forbidden
You don't have permission to access / on this server.
Apache/2.4.9 (Win64) PHP/5.5.12 Server at XXX.XXX.X.XX Port 80

我已经做了足够多的研究,并相信 Apache 可能没有权限访问该网站的目录。我使用的是自 2015 年 7 月 5 日起完全更新的 WAMP 服务器。任何帮助启动和运行此网站的帮助都将不胜感激。如果您想要更多信息,请发表评论,我会根据您的需要编辑此帖子。谢谢!

答案1

我发现导致此问题的原因通常是您创建了文件,因此这些文件归您所有(您登录时所用的用户)。您可以在本地访问这些文件,因为您拥有它们。当您尝试远程访问这些文件时,这些文件将由用户“apache”或您的 Web 服务器以任何用户身份运行进行访问。更改权限,以便 Web 服务器可以访问这些文件。

答案2

可能您已将项目从 移至apache-2.2apache-2.4自 v2.2 以来,配置文件语法发生了一些变化,尤其是访问定义。而 2.4 之前的 Apache 有以下语法

Order allow,deny
Allow from all

2.4+ 版本有以下语法

Require all granted

请仔细阅读有关从 2.2 升级到 2.4 的注意事项

http://httpd.apache.org/docs/2.4/upgrading.html

相关内容