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类
Oct 09 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php递归函数怎么用才有效
Feb 24 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
php中常用的预定义变量小结
2012/05/09 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
python 判断一个进程是否存在
2009/04/09 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python实现输入数字的连续加减方法
2018/06/22 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
爱游人:Travelliker
2017/09/05 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
升职自荐信
2013/11/28 职场文书
文艺委员竞选稿
2015/11/19 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android