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

Windows下Nginx配置Laravel路由异常及CodeIgniter访问问题求助

解决Nginx下Laravel与CodeIgniter本地部署问题

Laravel 路径访问错误(no input file specified)

你的Laravel配置存在路径解析错误,修改location /project-name-laravel块如下:

# Laravel
location /project-name-laravel {
    alias C:/nginx/html/project-name-laravel/public;
    try_files $uri $uri/ /project-name-laravel/index.php?$query_string;

    # 在此块内处理PHP请求,避免全局PHP块路径错误
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:8000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
    }
}

错误原因说明:

  • 原配置中root /project-name-laravel/public是相对路径,Nginx会拼接server的root形成C:/nginx/html/project-name-laravel/public,但try_files最后指向的/index.php会被解析到server根目录的index.php,而非Laravel的public下的index.php,导致找不到文件。
  • 使用alias可以精准映射子路径到Laravel的public目录,同时将PHP请求处理放在该location内,确保SCRIPT_FILENAME指向正确的文件路径。

CodeIgniter 根路径403错误

修改location /project-name块,并补充index设置:

# CodeIgniter
location /project-name {
    index index.php index.html index.htm;
    try_files $uri $uri/ /project-name/index.php?$is_args$args;
}

错误原因说明:

  • 访问http://localhost/project-name时,Nginx会尝试查找该目录下的默认索引文件,但原配置未在该location内指定index,导致Nginx找不到可执行的索引文件,返回403权限错误。添加index指令后,Nginx会优先加载项目根目录的index.php。

全局PHP配置注意事项

确保你的PHP-FPM确实监听127.0.0.1:8000,如果默认是9000端口,需要修改fastcgi_pass为127.0.0.1:9000,否则会出现PHP请求无法转发的问题。

修改完成后,重启Nginx服务生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:50:36