首页 > 代码库 > ThinkPHP 3.2.2 重写BUG ,修正方法
ThinkPHP 3.2.2 重写BUG ,修正方法
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]:''; } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。