thinkphp在低版本Nginx 下支持PATHINFO的方法分享


Posted in PHP onMay 27, 2016

最近在用thinkphp做一个项目,基本完成后部署到nginx服务器上才发觉nginx是不支持pathinfo的那么我们如何来处理呢。

Nginx环境

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf(在/usr/local/nginx/conf/nginx.conf或者通过find / | grep nginx.conf来查找位置)中配置转发规则实现:在nginx配置文件中添加:

location / { 
if (!-e $request_filename) {
   rewrite ^(.*)$ /index.php?s=$1 last;
   break;
 }
}

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。
如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

location /youdomain/ {
 if (!-e $request_filename){
  rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
 }
}

如:

location /thinkphp/ {
 if (!-e $request_filename){
    rewrite ^/thinkphp/(.*)$ /thinkphp/index.php?s=$1 last;
 }
}

语法:rewrite regex replacement flag  (last     相当于apache里面的[L]标记,表示rewrite。)

PHP 相关文章推荐
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
php实例化一个类的具体方法
Sep 19 PHP
使用PHP开发留言板功能
Nov 19 PHP
PHP实现数据分页显示的简单实例
May 26 #PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 #PHP
PHP实现冒泡排序的简单实例
May 26 #PHP
Laravel SQL语句记录方式(推荐)
May 26 #PHP
PHP MVC框架skymvc支持多文件上传
May 26 #PHP
CodeIgniter集成smarty的方法详解
May 26 #PHP
PHPExcel简单读取excel文件示例
May 26 #PHP
You might like
php缓存技术介绍
2006/11/25 PHP
php&mysql 日期操作小记
2012/02/27 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
两个Javascript小tip资料
2010/11/23 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
Python使用py2exe打包程序介绍
2014/11/20 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python每天定时运行某程序代码
2019/08/16 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
老师给学生的表扬信
2014/01/17 职场文书
关于环保的标语
2014/06/13 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers