上一篇修改完 DocumentRoot访问localhost出现如下错误
Forbidden
You don't have permission to access /myDemo/ on this server.
折腾了一番终于找到了解决办法,这是我的部分配置文件内容
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/Users/mymac/Desktop/Project"
<Directory "/Users/mymac/Desktop/Project">
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride None
Require all granted
</Directory>
我觉得是没什么问题的,因为我按默认路径访问localhost是可以访问的,而换到我自己的目录就不行?
我看了网上大部分解决办法说要修改配置文件,我觉得是没有必要的,研究了一下得出来以下解决方案
废话不多说,直接上正题,这种情况分析得出应该是文件权限的问题,所以我去检查了一下从父目录到子目录各个目录的权限,
发现确实有部份文件夹是无权限给普通用户访问的
如图
一定要保证 每层文件夹的everyone 权限都至少是’只读‘。
然后project 目录下要保证有 index.html或者index.php
否则就需要修改配置文件中的 Options 那一行 改成 Options -Indexes FollowSymLinks Multiviews,(为了服务器安全一般不建议修改)。
总结一下,
1. 配置文件一定要有 Require all granted
2.文件夹权限一定要保证只读以上
3.目录下要保证有 index.html或者index.php
这三点检查一下一般错误就不会出现了✌️
如果系统为Linux系统,站点可能存在目录权限问题
站点目录需要apache的用户有访问权限,否则就会报403错误(一般web站点目录权限给755,站点文件权限给644,上传程序通过另外的上传服务器提供文件上传)