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和ACCESS写聊天室(五)
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
php结合ajax实现手机发红包的案例
Oct 13 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
PHP解决高并发的优化方案实例
Dec 10 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
1 Tube Radio
2021/03/02 无线电
深入PHP内存相关的功能特性详解
2013/06/08 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
用javascript实现画板的代码
2007/09/05 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
JavaScript 函数调用规则
2009/09/14 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
python中退出多层循环的方法
2018/11/27 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
Java的五个基础面试题
2016/02/26 面试题
网络安全类面试题
2015/08/01 面试题
水果超市创业计划书
2014/01/27 职场文书
文员岗位职责
2015/02/04 职场文书