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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
php获取操作系统语言代码
Nov 04 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
ThinkPHP中关联查询实例
Dec 02 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
php显示页码分页类的封装
Jun 08 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
laravel 框架配置404等异常页面
Jan 07 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
substr()函数中文版
2006/10/09 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
php实现读取超大文件的方法
2014/07/28 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
Vue.js实现可编辑的表格
2019/12/11 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
简单了解django缓存方式及配置
2019/07/19 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
2014年小学植树节活动方案
2014/03/02 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers