ThinkPHP 3.2.2 路由重写BUG ,修正方法
来源:互联网 发布:权力的游戏大麻雀知乎 编辑:程序博客网 时间:2024/06/14 09:53
TP3.2.x问题真多,官网根本就不维护了,很多时候TP官网都根本无法下载TP。
一个很严重的BUG,网址重写无法支持原因ThinkPHP本来就根本执行顺序全错!
解决方法:
文件:
#D:\PC\zbphp.com\ThinkPHP\Library\Think\Dispatcher.class.php
代码:(替换成下面的即可 by default7#zbphp.com)
if(empty($_SERVER['PATH_INFO'])) { $_SERVER['PATH_INFO'] = ''; define('__INFO__',''); define('__EXT__',''); }else{ Route::check(); //add by default7#zbphp.com define('__INFO__',trim($_SERVER['PATH_INFO'],'/')); // URL后缀 define('__EXT__', strtolower(pathinfo($_SERVER['PATH_INFO'],PATHINFO_EXTENSION))); $_SERVER['PATH_INFO'] = __INFO__; if (__INFO__ && !defined('BIND_MODULE') && C('MULTI_MODULE') && empty($_GET)){ // 获取模块名 $paths = explode($depr,__INFO__,2); $allowList = C('MODULE_ALLOW_LIST'); // 允许的模块列表 $module = preg_replace('/\.' . __EXT__ . '$/i', '',$paths[0]); if( empty($allowList) || (is_array($allowList) && in_array_case($module, $allowList))){ $_GET[$varModule] = $module; $_SERVER['PATH_INFO'] = isset($paths[1])?$paths[1]:''; } } }
修正版:
if(empty($_SERVER['PATH_INFO'])) { $_SERVER['PATH_INFO'] = ''; define('__INFO__',''); define('__EXT__',''); }else{ define('__INFO__',trim($_SERVER['PATH_INFO'],'/')); // URL后缀 define('__EXT__', strtolower(pathinfo($_SERVER['PATH_INFO'],PATHINFO_EXTENSION))); $_SERVER['PATH_INFO'] = __INFO__; if (__INFO__ && !defined('BIND_MODULE') && C('MULTI_MODULE') && !Route::check() && !empty($_GET)){ // 获取模块名 $paths = explode($depr,__INFO__,2); $allowList = C('MODULE_ALLOW_LIST'); // 允许的模块列表 $module = preg_replace('/\.' . __EXT__ . '$/i', '',$paths[0]); if( empty($allowList) || (is_array($allowList) && in_array_case($module, $allowList))){ $_GET[$varModule] = $module; $_SERVER['PATH_INFO'] = isset($paths[1])?$paths[1]:''; } } }
0 0
- ThinkPHP 3.2.2 路由重写BUG ,修正方法
- dubbo路由bug修正
- 修正bug的方法
- 修正dwr中addRows方法的bug
- 修正dwr中addRows方法的bug
- thinkphp rewrite 重写方法-web.config
- ThinkPHP 路由
- Thinkphp路由
- thinkphp路由
- VS2008内嵌水晶报表翻页BUG修正方法
- 关于cocos2dx播放音效的bug以及修正方法
- 使用CSS修正一切:20多个常见Bug及其修正方法
- ThinkPHP 笔记2 路由 控制器 视图
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成
- Thinkphp的URL规则,伪静态,路由,重写,伪静态,生成及其调试
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成
- TP环境配置之 lnmp 配置thinkphp路由重写的代码
- 前端面试宝典——来自cnblog
- poj2985线段树求第k大的数(并查集)
- 黑马程序员--------------学习JAVA反射(Reflection)
- jQuery css() 方法
- 蛇形填数
- ThinkPHP 3.2.2 路由重写BUG ,修正方法
- grunt任务配置教程
- 102_widget的点击事件
- oracle的ora提示都是问号
- 关于java关键字synchronized的一些心得体会
- The application may be doing too much work on its main thread.
- POJ 题目3624 Charm Bracelet(动态规划 01背包)
- Android Service创建USB HOST通信
- 开源夏令营第四周-copy、move操作