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垃圾代码优化操作代码
Aug 05 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
php实现aes加密类分享
Feb 16 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
php实现的ping端口函数实例
Nov 12 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
php版微信自定义回复功能示例
Dec 05 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 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函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python实现Dijkstra算法
2018/10/17 Python
python中p-value的实现方式
2019/12/16 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
销售找工作求职信
2013/12/20 职场文书
超市营业员岗位职责
2013/12/20 职场文书
面试后感谢信
2014/02/01 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android