You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下如何配置Nginx适配Laravel?部署返回403错误如何解决?

问题根因排查

你当前的Nginx配置缺失Laravel框架必需的重写规则,同时可能存在目录权限配置问题,是触发403错误的核心原因,具体排查和修复步骤如下:

1. 现有配置缺陷说明

现有location /块没有配置try_files规则,Laravel是单入口框架,所有非静态资源请求都需要转发到index.php处理,缺失该规则时Nginx会尝试直接访问路径对应的磁盘文件,找不到就会返回403/404错误。

2. 权限校验项

  • Windows环境下需确认Nginx运行用户对C:/xampp/htdocs/my_laravel_app目录拥有可读权限
  • Laravel的storage、bootstrap/cache目录需要额外赋予可写权限,否则框架运行时读写缓存、日志失败也可能触发403错误
  • 确认PHP-FPM服务正常监听127.0.0.1:9000端口,可在cmd执行netstat -ano | findstr "9000"验证

3. 修正后的完整配置

server {
    listen       80;
    server_name  localhost;
    # 将root规则提升到server块,避免重复配置
    root   C:/xampp/htdocs/my_laravel_app/public;
    index  index.html index.htm index.php;

    location / {
        # 添加Laravel必需的重写规则
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置修改完成后执行nginx -s reload重启Nginx即可生效。

内容的提问来源于stack exchange,提问作者ChrisM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:36:03