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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
如何正确理解PHP的错误信息
Oct 09 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
php 魔术函数使用说明
Feb 21 PHP
php 数组的一个悲剧?
May 11 PHP
PHP重定向的3种方式
Mar 07 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
swoole锁的机制代码实例讲解
Mar 04 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/10/09 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
用js实现in_array的方法
2013/11/05 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
基于python时间处理方法(详解)
2017/08/14 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
pytorch 共享参数的示例
2019/08/17 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
Python PyQt5整理介绍
2020/04/01 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
flask开启多线程的具体方法
2020/08/02 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
高中生校园生活自我评价
2013/09/19 职场文书
环保倡议书300字
2014/05/15 职场文书
满月酒邀请函
2015/01/30 职场文书
鼋头渚导游词
2015/02/05 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers