改寫(xiě)ThinkPHP的U方法使其路由下分頁(yè)正常
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)啟路由之后下一頁(yè)路由失效問(wèn)題 分頁(yè)類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)題得以解決!
- thinkphp的URL路由規(guī)則與配置實(shí)例
- thinkphp5 URL和路由的功能詳解與實(shí)例
- ThinkPHP路由詳解
- thinkphp路由規(guī)則使用示例詳解和偽靜態(tài)功能實(shí)現(xiàn)(apache重寫(xiě))
- ThinkPHP、Zend?Framework2、Yaf、Laravel框架路由大比拼
- thinkPHP5.1框架路由::get、post請(qǐng)求簡(jiǎn)單用法示例
- thinkphp中U方法按路由規(guī)則生成url的方法
- ThinkPHP路由機(jī)制簡(jiǎn)介
- thinkPHP5框架路由常用知識(shí)點(diǎn)匯總
- thinkphp5框架路由原理與用法詳解
- thinkphp框架實(shí)現(xiàn)路由重定義簡(jiǎn)化url訪問(wèn)地址的方法分析
相關(guān)文章
讓whoops幫我們告別ThinkPHP6的異常頁(yè)面
本文給大家分享的是使用whoops接管thinkphp6的異常處理,從而使我們得到新的世界,希望大家能夠喜歡2020-03-03
Apache+php+mysql在windows下的安裝與配置(圖文)
2008-02-02
PHP各種異常和錯(cuò)誤的攔截方法及發(fā)生致命錯(cuò)誤時(shí)進(jìn)行報(bào)警
在日常開(kāi)發(fā)中,大多數(shù)人的做法是在開(kāi)發(fā)環(huán)境時(shí)開(kāi)啟調(diào)試模式,在產(chǎn)品環(huán)境關(guān)閉調(diào)試模式。在開(kāi)發(fā)的時(shí)候可以查看各種錯(cuò)誤、異常,但是在線上就把錯(cuò)誤顯示的關(guān)閉2016-01-01
淺談php使用curl模擬多線程發(fā)送請(qǐng)求
這篇文章主要介紹了php使用curl模擬多線程發(fā)送請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Yii2框架可逆加密簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了Yii2框架可逆加密簡(jiǎn)單實(shí)現(xiàn)方法,涉及Yii框架encryptByPassword()與decryptByPassword()函數(shù)簡(jiǎn)單使用方法,需要的朋友可以參考下2017-08-08
Zend的Registry機(jī)制的使用說(shuō)明
本篇文章介紹了,Zend的Registry機(jī)制的使用說(shuō)明。需要的朋友參考下2013-05-05
復(fù)現(xiàn)WordPress?xmlrpc.php漏洞和SSRF的詳細(xì)步驟
這篇文章主要介紹了復(fù)現(xiàn)WordPress?xmlrpc.php漏洞和SSRF的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04

