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 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
PHP后门隐藏的一些技巧总结
Nov 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框架Phpbean说明
2008/01/10 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
两种php实现图片上传的方法
2016/01/22 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
解决Python使用列表副本的问题
2019/12/19 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
技术总监的工作职责
2013/11/13 职场文书
初二生物教学反思
2014/02/03 职场文书
毕业生就业协议书
2014/04/11 职场文书
《菜园里》教学反思
2014/04/17 职场文书
广告学专业求职信
2014/06/19 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
换届选举主持词
2015/07/03 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server