宝塔面板网站访问遇403 Forbidden?如何检查目录权限和默认索引文件问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计800个文字,预计阅读时间需要4分钟。
403 Forbidden:
网站根目录权限和所有者必须设为755 + www:www
Linux下Nginx/Apache以www用户身份运行,若目录权限是750、644甚至700,或所有者是root、admin,进程就无法进入目录——直接返回403。
- 在宝塔【文件】管理器中打开网站根目录(如
/www/wwwroot/example.com),右键 → 【权限】 - 权限数字填
755,务必勾选【递归修改】,否则子目录仍可能卡住 - 所有者和所属组都设为
www,同样勾选【递归修改】 - 额外注意:如果用了
public子目录作为实际入口(如Laravel),要对public目录单独执行上述操作,而不是只改外层
运行目录路径必须精确匹配含index文件的目录
宝塔站点设置里的【运行目录】不是“网站放哪”,而是“从哪开始找index.php或index.html”。填错一级、多一个斜杠、少一个public,都会让服务器找不到首页,又不给列目录,就报403。
- 进【网站】→ 点击站点【设置】→ 【网站目录】选项卡
- 确认【网站目录】字段值和文件管理器中真实存在
index.php的路径完全一致,比如是/www/wwwroot/example.com/public,就不能写成/www/wwwroot/example.com或/www/wwwroot/example.com/public/(末尾斜杠会出问题) - 如果项目结构里没有
index.php,但有index.html,也要确保该文件就在这个运行目录下,而不是上级
默认索引文件名必须规范且存在
服务器不会自动猜你叫什么首页。它只按固定顺序找index.html、index.htm、index.php(具体顺序由配置决定)。名字差一个字母、大小写不对、扩展名被隐藏,都算“不存在”。
- 在文件管理器中打开【运行目录】对应路径,确认至少有一个以下文件:
index.html、index.htm、index.php - 文件名必须全小写,不能是
Index.HTML、INDEX.PHP或首页.html - 检查文件权限是否为
644,所有者是否为www:www;尤其PHP文件,若权限是600或所有者是root,即使路径对也会403 - 开启【显示隐藏文件】(右上角齿轮),排除
.htaccess里写了Deny from all之类规则的干扰
真正容易被忽略的是:运行目录和文件权限这两项必须同时正确。只改权限但运行目录指错位置,或只调对路径但public目录本身权限仍是700,403照样出现。排查时别跳步。
本文共计800个文字,预计阅读时间需要4分钟。
403 Forbidden:
网站根目录权限和所有者必须设为755 + www:www
Linux下Nginx/Apache以www用户身份运行,若目录权限是750、644甚至700,或所有者是root、admin,进程就无法进入目录——直接返回403。
- 在宝塔【文件】管理器中打开网站根目录(如
/www/wwwroot/example.com),右键 → 【权限】 - 权限数字填
755,务必勾选【递归修改】,否则子目录仍可能卡住 - 所有者和所属组都设为
www,同样勾选【递归修改】 - 额外注意:如果用了
public子目录作为实际入口(如Laravel),要对public目录单独执行上述操作,而不是只改外层
运行目录路径必须精确匹配含index文件的目录
宝塔站点设置里的【运行目录】不是“网站放哪”,而是“从哪开始找index.php或index.html”。填错一级、多一个斜杠、少一个public,都会让服务器找不到首页,又不给列目录,就报403。
- 进【网站】→ 点击站点【设置】→ 【网站目录】选项卡
- 确认【网站目录】字段值和文件管理器中真实存在
index.php的路径完全一致,比如是/www/wwwroot/example.com/public,就不能写成/www/wwwroot/example.com或/www/wwwroot/example.com/public/(末尾斜杠会出问题) - 如果项目结构里没有
index.php,但有index.html,也要确保该文件就在这个运行目录下,而不是上级
默认索引文件名必须规范且存在
服务器不会自动猜你叫什么首页。它只按固定顺序找index.html、index.htm、index.php(具体顺序由配置决定)。名字差一个字母、大小写不对、扩展名被隐藏,都算“不存在”。
- 在文件管理器中打开【运行目录】对应路径,确认至少有一个以下文件:
index.html、index.htm、index.php - 文件名必须全小写,不能是
Index.HTML、INDEX.PHP或首页.html - 检查文件权限是否为
644,所有者是否为www:www;尤其PHP文件,若权限是600或所有者是root,即使路径对也会403 - 开启【显示隐藏文件】(右上角齿轮),排除
.htaccess里写了Deny from all之类规则的干扰
真正容易被忽略的是:运行目录和文件权限这两项必须同时正确。只改权限但运行目录指错位置,或只调对路径但public目录本身权限仍是700,403照样出现。排查时别跳步。

