Apache 服务器无法访问目录(403 禁止错误)

Apache 服务器无法访问目录(403 禁止错误)

我目前正在 Fedora 29 上运行 Apache Web 服务器,并且面临目录访问问题。

我可以很好地运行位于 中的 php 和 HTML 文件…/www/html/applications/views,但当我尝试运行位于…/www/html/applications/controllers.

我尝试将后一个目录及其内容的权限与前一个目录的权限及其内容进行匹配,但无济于事。我尝试将所有权切换到当前用户并再次修改权限,但仍然遇到此错误。

另外,我检查了 apache 服务器错误日志,似乎没有与此相关的内容(从它显示的最后一个错误日期为 5 月 22 日而得出的结论是,最后一次重新运行 php 脚本是在 5 月 25 日,请纠正我如果我错了)。以下是最新的 3 条错误信息:

[Wed May 22 22:40:07.338339 2019] [lbmethod_heartbeat:notice] [pid 17890:tid 139756349729024] AH02282: No slotmem from mod_heartmonitor

[Wed May 22 22:40:07.350863 2019] [mpm_event:notice] [pid 17890:tid 139756349729024] AH00489: Apache/2.4.39 (Fedora) OpenSSL/1.1.1b mod_perl/2.0.10 Perl/v5.28.2 configured -- resuming normal operations

[Wed May 22 22:40:07.350906 2019] [core:notice] [pid 17890:tid 139756349729024] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

另外,下面给出的是该文件的内容.htaccess

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

知道发生了什么事以及如何解决它吗?

答案1

Deny from all是 Apache 2.2 语法,也是Require all deniedApache 2.4 语法。

https://httpd.apache.org/docs/2.4/upgrading.html#access

在此示例中,没有进行身份验证,并且所有请求都被拒绝。

2.2 配置:
订单拒绝,允许
全部拒绝

2.4 配置:
要求全部拒绝

https://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#deny

句法:Deny from all|host|env=[!]env-variable [host|env=[!]env-variable] ...

该指令允许根据主机名、IP 地址或环境变量限制对服务器的访问。该指令的参数Deny与该指令的参数相同Allow

https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require

Require all denied
       无条件拒绝访问。

由于您没有说它位于哪里,.htaccess我无法说出为什么…/www/html/applications/views有效和…/www/html/applications/controllers无效。但你的内容.htaccess所有访问均被拒绝适用于阿帕奇 2.2/2.4。

相关内容