nginx的pathinfo支持

时间:16-11-07 来源: 作者: 点击:

配置文件让nginx支持pathinfo

值是1。 nginx默认是不会设置PATH_INFO环境变量的的值,需要php使用cgi.fix_pathinfo=1来完成路径信息的获取,但同时会带来安全隐患,需要把cgi.fix_pathinfo=0设置为0,这样php就获取不到PATH_INFO信息,那些依赖PATH_INFO进行URL美化的程序就失效了。 1.可以通过rewrite方式代替php中的PATH_INFO 实例:thinkphp的pathinfo解决方案 设置URL_MODEL=2 location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last; } } location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last; } } 2.nginx配置文件中设置PATH_INFO值 请求的网址是/abc/index.php/abc PATH_INFO的值是/abc SCRIPT_FILENAME的值是$doucment_root/abc/index.php SCRIPT_NAME /abc/index.php 旧版本的nginx使用如下方式配置 location ~ .php($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+.php)(/.+)") { set $script $1; set $path_info $2; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$script; fastcgi_param SCRIPT_NAME $script; fastcgi_param PATH_INFO $path_info; } location ~ .php($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+.php)(/.+)") { set $script $1; set $path_info $2; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$script; fastcgi_param SCRIPT_NAME $script; fastcgi_param PATH_INFO $path_info; } 新版本的nginx也可以使用fastcgi_split_path_info指令来设置PATH_INFO,旧的方式不再推荐使用,在location段添加如下配置。 location ~ ^.+.php { (...) fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; (...) } location ~ ^.+.php { (...) fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; (...) } 最后可能有人要问为什么apache不会出现这个问题? apache一般是以模块的方式运行ph p,apache可以对$_SERVER['PATH_INFO']的值进行设置,不需要另外配置。 除非注明,本站文章均为: 原创,转载请注明本文地址: --完-- 顶 0 踩 0 上一篇 数据库的select几种方式的优缺点 下一篇 可以复用的checkbox 我的同类文章 服务器(15) ?开启端口与关闭端口2016-04-28阅读21 ?centos6下安装git2016-04-07阅

声明:本文转载于网络,文章链接:http://www.nd9p.com/7778.html