Nginx服务器不支持PATH_INFO的问题及解决办法

在ThinkPHP5中  发现URL 不支持典型模式访问  http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]

因为默认nginx不支持PATHINFO 只能通过http://serverName/index.php(或者其它应用入口文件)?s=/模块/控制器/操作/[参数名/参数值...]

感觉好烦哦 于是就想办法修改配置

location ~ .php$ { //$代表结尾,这样对于后面跟随内容的URL地址就不会进行解析
     fastcgi_index index.php;
     fastcgi_pass 127.0.0.1:9000;
     include fastcgi_params;
}

上面的配置Nginx是不会正交给php cgi服务器的. 所以我们需要改写这段配置为:

location ~ .php {
     fastcgi_index index.php;
   fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句 fastcgi_pass 127.0.0.1:9000; include fastcgi_params; }

 

posted @   phpwyl  阅读(1889)  评论(1)    收藏  举报
编辑推荐:
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
阅读排行:
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· Chat to MySQL 最佳实践:MCP Server 服务调用
· .NET周刊【3月第5期 2025-03-30】
· 即时通信SSE和WebSocket对比
· Java程序员的Go入门笔记
点击右上角即可分享
微信分享提示