老師您好,我在thinkphp5中使用redirect遇到了一個(gè)讓我非常困惑的問題,希望能幫忙解答。
<?php namespace app\index\controller; class At extends Common { public function hi($name) { if ($name == 'thinkphp') { return $this->redirect('http://www.baidu.com',302); }else{ return $this->error('登錄失敗','ds'); } } public function cg() { return '登錄成功跳轉(zhuǎn)'; } public function ds() { return '登錄失敗跳轉(zhuǎn)'; } }
這個(gè)程式碼按照老師說(shuō)的方法,如果成功,則會(huì)跳到百度網(wǎng)頁(yè),這個(gè)程式碼執(zhí)行起來(lái)沒有任何問題,但是,當(dāng)我將這個(gè)重定向的url替換成另外一個(gè)的時(shí)候,問題出現(xiàn)了。
替換如下:
<?php namespace app\index\controller; class At extends Common { public function hi($name) { if ($name == 'thinkphp') { return $this->redirect('mqqapi://card/show_pslcard?src_type=internal&version=1&uin=1921779545&card_type=person&source=sharecard',302); }else{ return $this->error('登錄失敗','ds'); } } public function cg() { return '登錄成功跳轉(zhuǎn)'; } public function ds() { return '登錄失敗跳轉(zhuǎn)'; } }
如程式碼所示,我將redirect重定向的位址替換成了mqqapi協(xié)定的一個(gè)位址(這個(gè)是QQ的一個(gè)協(xié)定),當(dāng)我替換成這個(gè)位址的時(shí)候,報(bào)如下錯(cuò)誤:
按道理來(lái)說(shuō)這個(gè)show_pslcard只是這個(gè)mqqapi協(xié)定的url其中的一部分,不知道為什麼會(huì)出現(xiàn)這樣的錯(cuò)誤。是與thinkphp框架中某個(gè)東西衝突了嗎,還是什麼別的原因。
希望老師能幫我解答。
只有當(dāng)?session?臨時(shí)檔案位於作業(yè)系統(tǒng)的暫存目錄中時(shí),過(guò)期的?session?臨時(shí)檔案才會(huì)自動(dòng)刪除
thinkphp 的redirect方法的參數(shù)用法和Url::build方法的用法一致 你查看下參考手冊(cè)就明白了,直接用? 就會(huì)被優(yōu)先解析為存取了本地方法。達(dá)不到預(yù)想效果