Nginx实现THINKPHP PATH_INFO模式

发布时间:2017-04-15 编辑:小张个人博客 查看次数:2983

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

设置NGINX支持pathinfo

打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化。

 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 PATH_INFO模式
 location ~ .+\.php($|/) {
	 set $script    $uri;
	 set $path_info  "/";
	 if ($uri ~ "^(.+\.php)(/.+)") {
		 set $script     $1;
		 set $path_info  $2;
	  } 
	 fastcgi_pass 101.200.186.15;
	 fastcgi_index  index.php?IF_REWRITE=1;
	 include fastcgi.conf;
	 fastcgi_param PATH_INFO $path_info;
	 fastcgi_param SCRIPT_FILENAME  $document_root/$script;
	 fastcgi_param SCRIPT_NAME $script;
 }

这样,nginx服务器就可以支持pathinfo了。

出处:小张个人博客

网址:http://blog.023xs.cn/

您的支持是对博主最大的鼓励,感谢您的认真阅读。欢迎转载,但请保留该声明。

顶部

Copyright © 小张个人博客 All Rights Reserved 渝ICP备15006773号-1

联系方式:[email protected] | 本站文章仅供学习和参考

渝公网安备 50024102500267号