php server phpself,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']
发现问题:
使用ThinkPHP3.2.2在nginx部署网站,设置URL_MODEL=2,使用U方法在本地生成的链接形如:/public/index
但是在部署在nginx上却出现了问题 其中的URL生成了./public/index
通过追寻ThinkPHP源码在ThinkPHP.php文件中发现了如下代码:
if(IS_CGI) {
//CGI/FASTCGI模式下
$_temp = explode('.php',$_SERVER['PHP_SELF']);
define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
}else {
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/'));
}
这是问题的根源
访问:http:www.xxx.com/public/index
在apache下$_SERVER['PHP_SELF']显示./index.php/public/index
而在nginx中显示空白
访问:http:www.xxx.com/index.php/public/index
在apache下$_SERVER['PHP_SELF']显示./index.php/public/index
而在nginx中显示/public/index
最后发现是在nginx开启PATH_INFO时出现了奇异。
我的nginx 中PATH_INFO段的配置是:
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info; #只要设置了这行PHP_SELF返回的就出问题
try_files $fastcgi_script_name =404;
php server phpself,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']相关推荐
- php_self nginx,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']
发现问题: 使用ThinkPHP3.2.2在nginx部署网站,设置URL_MODEL=2,使用U方法在本地生成的链接形如:/public/index 但是在部署在nginx上却出现了问题 其中的UR ...
- Nginx 设置,设置已经解析的域名,在nginx中没有定义相应server时的默认访问
场景介绍: 因为业务需求,我们需要对域名进行解析,这里我对域名进行了如下解析 但是,因为业务需求,我可能在nginx中只定义了kuman.xiaobudiu.top 和 www.xiaobudiu.t ...
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...
- http响应Last-Modified和ETag以及Apache和Nginx中的配置
基础知识 1) 什么是"Last-Modified"? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属 ...
- Nginx中server_name 参数详解
Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server {list ...
- CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Re ...
- 从一起丢包故障来谈谈 nginx 中的 tcp keep-alive
一.故障 基本架构如图所示,客户端发起 http 请求给 nginx,nginx 转发请求给网关,网关再转发请求到后端微服务. 故障现象是,每隔十几分钟或者几个小时不等,客户端就会得到一个或者连续多个 ...
- java pathinfo,nginx下支持PATH_INFO的方法实例详解
本文实例分析了nginx下支持PATH_INFO的方法.分享给大家供大家参考,具体如下: 要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pa ...
- nginx中的rewrite用法及实例
本文转载自http://blog.csdn.net/xy2204/article/details/47749405,本来想自己总结的,但还是觉得人家写的更好一些,所以就转载下来.最下面附有我的一个小例 ...
最新文章
- 在windows中创建一个影子用户
- 原生ajax的post操作
- 【Python】SyntaxError: unexpected EOF while parsing
- Oracle 监听器日志配置与管理
- boost::safe_numerics模块实现测试自定义异常的测试程序
- pcb地线应该不应该做成环路_干货|图文详解EMC的PCB设计技术
- 【LiveVideoStack线上分享】— FreeSWITCH核心架构与流程控制
- α稳定分布噪声基本原理及基于Chambers Mallows Stuck算法生成噪声并对信号加噪
- 【爱心代码大全】——情人节表白代码送给她属于我们程序员的浪漫
- pytorch元素相乘_bert_pytorch学习(1)
- LiveLayout
- Android 中关于Cursor类的介绍
- 容器精华问答 | Docker是否比虚拟技术要好?
- Unity和UE4两大游戏引擎,你该如何选择?
- js中继承的方法总结(apply,call,prototype)
- 大神f1 刷原生android,兼容多种ROM包 酷派大神F1堪称刷机神器
- php处理微信weui图片上传
- ADS1220 24位高精度ADC芯片驱动
- 怎样做好邮箱安全,什么邮箱安全又好用,如何安全管理邮箱
- 10步搞定App内测发布(蒲公英内测平台)
热门文章
- python排序-堆排序
- (转)C#中的委托(Delegate)和事件(Event)
- Android 摇一摇(二)
- python 字符集编码设置(精华)
- WP7 Tip:改变启动页
- 千字14图--Python慎用assert语句阻止代码执行
- 微课|中学生可以这样学Python(例5.6、例5.7):集合应用
- 大学生们颤抖吧,中学生已经开始学Python了!
- Python可以这样学(第六季:SQLite数据库编程)-董付国-专题视频课程
- 输入234输出432的c语言程序,C程序设计第1-4章习题集