在nginx下是不支持pathinfo的,但是apache支持pathinfo。
pathinfo是什么?
首先我们在nginx的html目录下新键1.php文件,打印$_SERVER

<?php
echo "<pre>";
print_r($_SERVER);

尝试在地址栏输入如下参数

结果返回404

同样的代码在apache下测试

没有报错 并且页面多了PATH_INFO的字段 值为 url地址后面的参数 a/b/c 这就是pathinfo
一些框架中他的地址栏格式为 index.php/Home/Index/goods/1…这种格式在apache中可以正常解析,但在nginx中是不支持的,也就是你的框架项目直接拿到nginx上是跑不起的。
解决办法如下

//基础配置
location ~ \.php$ { root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /$DOCUMENT_ROOT$fastcgi_script_name;include        fastcgi_params;
}
//修改后的配置
location ~ \.php(.*)$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /$DOCUMENT_ROOT$fastcgi_script_name;fastcgi_param  PATH_INFO $1;include        fastcgi_params;}

通过正则反向引用将.php后面的参数传递给pathinfo
浏览器测试传入参数 1.php/a/b
页面生成PATH_INFO字段

此时解决Nginx不支持pathinfo的问题。

但有些框架他的地址栏格式是这样的
域名+a/b/c,域名后面没有index.php
dian.com/show/eic
这时候要使你的项目在nginx上运行就要通过url地址重写解决问题

 location / {root html/daikuan/public;index index.php index.html ;//添加url重写if ( !-e $request_filename) {rewrite (.*)$ /index.php/$1;}

但是这种方式一直导致
500 Internal Server Error
不知道什么原因,不过在nginx中还可以通过try_files解决上述问题

location / {root html/daikuan/public;index index.php index.html ;//tryfiletry_files $uri /index.php?$uri;}

关于Nginx不支持pathinfo问题解决相关推荐

  1. nginx不支持pathinfo的原因以及解决办法

    nginx.cn nginx下支持PATH_INFO详解 – 运维与架构 mood 要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathi ...

  2. phpinfo查看可以解析的后缀_配置nginx,Apache支持pathinfo模式-什么是phpinfo模式

    我也配置了很多次了,前面都快放弃了,最近在学习resuful框架写api,代码实现上没出现啥问题,倒是这个path_info的环境配置把我弄的比较郁闷 你一定见过类似这样的路径:http://www. ...

  3. apache http server 停止工作_配置nginx,Apache支持pathinfo模式-什么是phpinfo模式

    我也配置了很多次了,前面都快放弃了,最近在学习resuful框架写api,代码实现上没出现啥问题,倒是这个path_info的环境配置把我弄的比较郁闷 你一定见过类似这样的路径:http://www. ...

  4. 配置nginx,Apache支持pathinfo模式-什么是phpinfo模式

    我也配置了很多次了,前面都快放弃了,最近在学习resuful框架写api,代码实现上没出现啥问题,倒是这个path_info的环境配置把我弄的比较郁闷 你一定见过类似这样的路径:http://www. ...

  5. 解决nginx不支持pathinfo Thinkphp命名空间问题

    1.这是我Ubuntu14.4配置文件 server {     listen 9989 default_server; # SSL configuration     #     # listen ...

  6. Nginx+ThinkPHP不支持PathInfo的解决办法

    nginx 不支持pathinfo, 你可以自己配置一个pathinfo变量, 会有安全漏洞,你又要修复, 很麻烦. nginx 最好是不要用pathinfo, thinkphp可以在不支持pathi ...

  7. 转载:配置nginx支持pathinfo功能

    原文地址:http://linuxguest.blog.51cto.com/195664/694319 nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找 ...

  8. java pathinfo,nginx下支持PATH_INFO的方法实例详解

    本文实例分析了nginx下支持PATH_INFO的方法.分享给大家供大家参考,具体如下: 要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pa ...

  9. phpshe b2c商城系统配置nginx支持pathinfo和rewrite的写法

    找到/usr/local/webserver/nginx/conf/nginx.conf文件(环境配置不一样,路径也可能不一样) 并在server {...省略掉的代码}中添加如下代码即可(如果程序放 ...

最新文章

  1. 为你的水晶报表装载本地图片
  2. 四代 DNA 测序技术简述*
  3. C#学习系列之泛型类
  4. Linux 软件安装与卸载之获取程序包的途径
  5. bzoj 3365: [Usaco2004 Feb]Distance Statistics 路程统计【容斥原理+点分治】
  6. TensorFlow 2.0 - TFRecord存储数据集、@tf.function图执行模式、tf.TensorArray、tf.config分配GPU
  7. 【逻辑与计算理论】Lambda 演算的类型与其 Lambda 演算建模
  8. GPU并行计算OpenCL(1)——helloworld
  9. 【Linux】解决Linux上解压jdk报错gzip: stdin: not in gzip format
  10. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(1)
  11. 【PAT乙】1080 MOOC期终成绩 (25分)
  12. Linux修行学习,网站持更
  13. linux未找到telnet命令
  14. PC端 流光溢彩 Arduino
  15. PS白底证件照换蓝底背景,头发边缘精细处理
  16. 在哪里设置自动锁定计算机,教你电脑锁屏怎么设置,让电脑自动锁屏
  17. 入职阿里巴巴,成为年薪百万阿里P7高级架构师需要必备哪些技术栈,带你来观望一下
  18. C++:vector的push_back()与emplace_back()
  19. animal farm 第一章阅读笔记
  20. 王权游戏中“帽子王”成就的获取

热门文章

  1. Css3动画 - 小圆围绕大圆的自转公转
  2. react webpack配置 paths.js
  3. 免费配音软件有哪些?分享三款配音软件,配音娱乐两不误
  4. windows启动MongoDB
  5. 音频压缩SPEEX应用,对讲机
  6. 手机处理器排行榜2019_2019年度排行榜哪款手机的充电功率最高?
  7. 星起航:适合抖音小店的产品类目有哪些
  8. 互联网金融行业分析及产品设计
  9. 百度大脑智能创作平台全新上线:AI赋能内容创作
  10. 深入理解 Go Modules 的 go.mod 与 go.sum