即使有 777、所有权且没有 htaccess,也会出现 403 错误

即使有 777、所有权且没有 htaccess,也会出现 403 错误

我遇到了 403 错误问题,Apache 处于管理员组,文件具有管理员所有权,并且 644。.htaccess 无关紧要。所有 php 文件和 tpl 文件都显示正确,只有 css 和 js 文件有问题。

我将权限更改为 777 但没有结果,我也删除了 .htaccess,但也没有结果。

我已经仔细检查了权限,并将 chown 设置为 apache 组,其中包含子文件和子文件夹,我用 chmod 做了同样的事情,但没有结果

我还能做什么?

答案1

这可能归咎于 seLinux。

假设您的 PHP CGI 环境以 apache/httpd 用户以外的用户身份运行,这将解释为什么 PHP 部分可以正常工作。除非您已将其他资源放置在已正确标记为允许 httpd 用户访问的目录中,否则我怀疑是缺少正确的 seLinux 上下文导致文件无法被提供。

我会检查 /var/log/audit/audit.log 中是否存在与 HTTPd 相关的 AVC 事件。您可以使用 audit2allow 生成合适的规则来解决您的问题。

您可能会在这个问题的答案中找到更多有用的信息:SELinux 干扰 Apache / PHP

答案2

尝试运行

chcon -R -t httpd_sys_rw_content_t /path/to/your/site

或使用参考目录:

chcon -R --reference=/var/www/html /www/sites

更多信息:

参考链接

答案3

检查目录是否具有“可执行”权限。我遇到过这种情况。我使用了 777,但还不足以对目录执行 chmod +x。

成立这里

相关内容