让Nginx支持pathinfo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让Nginx支持pathinfo相关的知识,希望对你有一定的参考价值。

布尔教育 php学习笔记

nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址.

网上流传的解决办法很多,这里提供一种比较简洁的写法(只需要改动2行代码)

# 典型配置
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;
}

# 修改第1,6行,支持pathinfo

location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分
    root html;
    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; # 把pathinfo部分赋给PATH_INFO变量
    include        fastcgi_params;
}

  

 

以上是关于让Nginx支持pathinfo的主要内容,如果未能解决你的问题,请参考以下文章

如何让nginx支持ThinkPHP框架

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

nginx下怎么支持THinkPHP

如何让nginx支持ThinkPHP框架

简单配置nginx使之支持pathinfo

简单配置nginx使之支持pathinfo