Windows10环境Nginx部署Laravel项目API路由返回404错误问题求助
问题根源
404错误由Nginx路由规则配置错误导致:当前配置会将匹配不到真实文件/目录的请求直接返回404,没有转发给Laravel的入口文件index.php处理,因此Laravel的路由规则无法生效。
需调整的配置项
- 修正
location /块的try_files规则,将找不到对应资源的请求转发到index.php,同时携带请求参数 - 修正
location ~ \.php$块中try_files规则的语法错误(等号与404之间不能有空格)
修正后的完整Nginx配置
server { listen 80 ; listen [::]:80 ; root D:/sites/demo/public; index index.php index.html index.htm ; server_name laravel.local; location / { # 核心修改:匹配不到路径时转发给index.php处理,携带query参数 try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { # 修正语法错误,去掉=和404之间的空格 try_files $uri /index.php =404; fastcgi_pass 127.0.0.1:9123; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
生效操作
修改配置后,执行nginx -s reload重载Nginx配置,再发起API请求验证即可。
内容的提问来源于stack exchange,提问作者nish
相关产品推荐
相关产品推荐

