我遇到了 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。
成立这里