httpd 没有按预期读取conf/httpd.conf 中的文档根目录

httpd 没有按预期读取conf/httpd.conf 中的文档根目录

我的 CentOS7 服务器上有一个 Laravel 项目,位于“/var/www/html/myProject”文件夹中。

我已将“DocumentRoot”和目录configure中的/etc/httpd/conf/httpd.conf中的文档根更改为“/var/www/html/myProject/public”,因此当我在浏览器中输入IP时将自动显示该项目。

当我尝试这样做并通过浏览器访问我的 IP 时,我会收到以下消息:

禁止访问 您无权访问此服务器上的 /form。服务器无法读取 htaccess 文件,拒绝访问以确保安全

经过进一步检查,我发现在我的 /var/log/httpd/error_log 中,每次访问尝试后都会出现以下错误:

[Thu May 10 19:39:33.683522 2018] [core:crit] [pid 1994] (13)Permission denied: [client 79.182.62.1:51091] AH00529: /var/www/html/myProject/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/html/myProject/' is executable

这对我来说很奇怪,因为路径应该是 /var/www/html/myProject/public ,但是缺少“public”。

我已经重新启动了我的 apache 几次,并将 DocumentRoot 路径更改为虚构的路径,只是为了检查它是否更新,确实如此。

它可能是 .htaccess 文件中的某些内容吗?虽然我没有更改该文件,但我将其保留为 Laravel 创建它的样子。

答案1

这可能是由于公共文件的权限所致。现在只需授予完全权限并看看它会做什么

chmod 0777 /var/www/html/myProject/public

或者

chmod -R 0777 /var/www/html/myProject

如果页面仍然无法访问,请检查主机上的 SElinux 状态。

键入sestatus并检查当前模式。它应该被禁用或处于宽容模式。如果处于强制模式,则httpd网页可能无法按预期显示内容。

要将 SElinux 设置为宽容模式,请输入以下命令:

setenforce 0

相关内容