在我的索引.php中加载 CSS 等资源时出现错误 403


ERROR 403 in loading resources like CSS in my index.php

我在索引中加载css文件时遇到了问题.php。我已经遵循了这个问题的答案,但没有成功。

在 index.php 中,我使用了以下代码:

 <link href="css/bootstrap.min.css" rel="stylesheet">

当我检查lsof -i tcp:80时,结果是

httpd 4896 根 4u IPv6 324899 0t0 TCP *:http (听(

我更改了css文件夹的所有者和权限作为答案

 drwxr-xr-x. 15 apache     apache      4096 Dec 23 00:40 css

编辑:css文件的权限

-rwxr-xr-x.  1 apache apache  99548 Apr  5  2014 bootstrap.min.css

但它仍然得到这个

您无权访问/css/bootstrap.min.css 服务器。

检查该文件夹和服务器中这些文件的权限,以及是否可以使用当前权限访问它们。

如果不给他们775许可。

文件权限呢?它们也归阿帕奇所有?强制执行正确权限的最佳方法是使 apache 也成为文件的所有者。

也许做一个递归的chown可以解决它。

chown -R apache:apache css

另一个可能的问题是,您的资产相对于包含它们的文件而言。如果您的索引在foo/index.php上,而您的资产在foo/asset/cssbar/css上,则不会找到它们,因为您使用的是相对符号:

<link href="css/bootstrap.min.css" rel="stylesheet">

如果您的索引和 css 文件夹位于同一级别,则可以使用:

<link href="/css/bootstrap.min.css" rel="stylesheet">

问题来自 SELinux

SELinux is preventing httpd from read access on the file

所以,我的解决方案:运行命令

塞布尔 -P httpd_read_user_content 1