|
Thinkphp3.1.3在啟用路由的情況下,其分頁(yè)地址不是路由的地址,由于thinkphp3.2.1的代碼也沒(méi)有修復(fù),很多人都遇到了這一問(wèn)題,本文采納olcms的修改方法解決這一問(wèn)題,特別感謝phper jack對(duì)此做出的貢獻(xiàn),具體解決辦法是修改Thinkphp的functions.php的U方法,在287行左右:
if(!empty($vars)) { // 添加參數(shù) foreach ($vars as $var => $val){ if('' !== trim($val)) $url .= $depr . $var . $depr . urlencode($val); }
后面加入以下代碼
/** tp開(kāi)啟路由之后路由失效問(wèn)題 分頁(yè)類(lèi)URL組裝*/ //如果開(kāi)啟路由 if(C('URL_ROUTER_ON')){ foreach (C('URL_ROUTE_RULES') as $zhaolg => $zlig){//遍歷路由 if(strstr('/'.GROUP_NAME.$url,$zlig)){//從網(wǎng)址中找路由規(guī)則 $lg = strstr($zhaolg,'/:');//分析規(guī)則 帶參數(shù)? if($lg){//如果規(guī)則帶參數(shù) $tempzlg = str_replace('/:','',$lg);//取參數(shù) //dump($tempzlg); if($tempzlg){ if(C('APP_SUB_DOMAIN_DEPLOY')){ $zlgurl = str_replace($zlig,$zhaolg,'/'.GROUP_NAME.$url); //url替換為路由規(guī)則 }else{ $zlgurl = str_replace($zlig,$zhaolg,$url); //url替換為路由規(guī)則 } //注 /s/:c/c/4/p/__PAGE__ //dump($zlgurl); $url = str_replace($lg.'/'.$tempzlg,'',$zlgurl);//url替換路由規(guī)則參數(shù) } }else{//分析規(guī)則 不帶參數(shù) if(C('APP_SUB_DOMAIN_DEPLOY')){ $url = str_replace($zlig,$zhaolg,'/'.GROUP_NAME.$url);//url替換為路由規(guī)則 }else{ $url = str_replace($zlig,$zhaolg,$url);//url替換為路由規(guī)則 } } } } }
至此問(wèn)題得以解決!
php技術(shù):改寫(xiě)ThinkPHP的U方法使其路由下分頁(yè)正常,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。