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(1)
Oct 09 PHP
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
默默小谈PHP&MYSQL分页原理及实现
Jan 02 PHP
php 将excel导入mysql
Nov 09 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
Zend Framework教程之配置文件application.ini解析
Mar 10 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 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用户指南-cookies部分
2006/10/09 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
php源码的安装方法和实例
2019/09/26 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python基本socket通信控制操作示例
2019/01/30 Python
python 调用钉钉机器人的方法
2019/02/20 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
J2EE是技术还是平台还是框架
2016/08/14 面试题
大学生党校培训心得体会
2014/09/11 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
先进个人申报材料
2014/12/30 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
MySQL 四种连接和多表查询详解
2021/07/16 MySQL