標籤:thinkphp 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]:''; } } }