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 ~ “^(.+?\.php)(/.+)$”) {
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;
include fastcgi_params;
}
要点:
1.~ \.php 后面不能有$ 以便能匹配所有 *.php/* 形式的url
2. 通过设置更改 SCRIPT_FILENAME
我在实际使用张将这段代码融合到了fastcgi_params中。下面是我的nginx配置文件示例:
配置虚拟主机部分,支持pathinfo的nginx代码如下:
## 在nginx.conf的server部分:
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 ~ "^(.+?\.php)(/.+)$") {
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
# PHP使用Nginx实现反向代理
# Win10 下安装配置IIS + MySQL + nginx + php7.1.7
# 详解Nginx 和 PHP 的两种部署方式的对比
# PHP 网站修改默认访问文件的nginx配置
# Nginx下实现pathinfo及ThinkPHP的URL模式
# 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud
# Centos6.4 编译安装 nginx php的方法
# windows下RunHiddenConsole 启动 nginx与php(RunHiddenCon
# 自己的
# 我在
# 找不到
# 这段
# 能有
# 不支持
# 便能
# 配置文件
# 虚拟主机
# fastcgi_params
# fastcgi_param
# SCRIPT_FILENAME
# PATH_INFO
# include
# document_root
# SCRIPT_NAME
# listen
# xml
# server_name
# server
相关文章:
网站制作公司排行榜,四大门户网站排名?
网站制作壁纸教程视频,电脑壁纸网站?
如何快速生成ASP一键建站模板并优化安全性?
小程序网站制作需要准备什么资料,如何制作小程序?
已有域名如何免费搭建网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
建站主机选择指南:服务器配置与SEO优化实战技巧
制作表格网站有哪些,线上表格怎么弄?
制作网站的软件免费下载,免费制作app哪个平台好?
建站之星安装模板失败:服务器环境不兼容?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
做企业网站制作流程,企业网站制作基本流程有哪些?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何快速辨别茅台真假?关键步骤解析
上海网站制作开发公司,上海买房比较好的网站有哪些?
建站之星代理费用多少?最新价格详情介绍
香港服务器部署网站为何提示未备案?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
如何快速生成可下载的建站源码工具?
html制作网站的步骤有哪些,iapp如何添加网页?
如何获取免费开源的自助建站系统源码?
Android使用GridView实现日历的简单功能
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
C++如何编写函数模板?(泛型编程入门)
定制建站流程解析:需求评估与SEO优化功能开发指南
Swift中swift中的switch 语句
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
ui设计制作网站有哪些,手机UI设计网址吗?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
音响网站制作视频教程,隆霸音响官方网站?
如何获取开源自助建站系统免费下载链接?
香港服务器选型指南:免备案配置与高效建站方案解析
建站之星2.7模板快速切换与批量管理功能操作指南
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
黑客如何通过漏洞一步步攻陷网站服务器?
网站微信制作软件,如何制作微信链接?
如何在万网ECS上快速搭建专属网站?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
已有域名和空间,如何快速搭建网站?
,石家庄四十八中学官网?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
建站之星在线版空间:自助建站+智能模板一键生成方案
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。