神剑山庄资源网 Design By www.hcban.com

nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找不到页面。下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo。

location ~ \.php$ {
root      html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
 
##通过设置模拟出pathinfo
set $path_info “”;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ “^(.+"htmlcode">
server {
listen    8080;
server_name localhost;
 
location ~ \.php {
include    fastcgi.conf;
}
}

##要点: \.php 后面没有$,以便匹配所有 *.php/* 形式
##重点代码见 fastcgi.conf 开头部分

fastcgi.conf 代码如下:

fastcgi_pass  127.0.0.1:9000;
##fastcgi_index index.php;

set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
## 以上是支持pathinfo的重点部分

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE  nginx;

fastcgi_param QUERY_STRING    $query_string;
fastcgi_param REQUEST_METHOD   $request_method;
fastcgi_param CONTENT_TYPE    $content_type;
fastcgi_param CONTENT_LENGTH   $content_length;

#fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
#fastcgi_param SCRIPT_NAME    $fastcgi_script_name;
fastcgi_param REQUEST_URI    $request_uri;
fastcgi_param DOCUMENT_URI    $document_uri;
fastcgi_param DOCUMENT_ROOT   $document_root;
fastcgi_param SERVER_PROTOCOL  $server_protocol;

fastcgi_param REMOTE_ADDR    $remote_addr;
fastcgi_param REMOTE_PORT    $remote_port;
fastcgi_param SERVER_ADDR    $server_addr;
fastcgi_param SERVER_PORT    $server_port;
fastcgi_param SERVER_NAME    $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
#fastcgi_param REDIRECT_STATUS  200;

自己的配置:

server
{
listen    80;
server_name www.touchopenid.com;
index index.html index.htm index.php;
root /data0/htdocs/openid;
 
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;
include    fastcgi_params;
fastcgi_param PATH_INFO        $path_info;
fastcgi_param SCRIPT_FILENAME     $document_root$script;
fastcgi_param SCRIPT_NAME       $script;
}

标签:
nginx,pathinfo

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“nginx配置支持php的pathinfo模式配置方法”

暂无nginx配置支持php的pathinfo模式配置方法的评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。