老師您好,我在在thinkphp5中使用redirect遇到了一個(gè)讓我非常困惑的問(wèn)題,希望能幫助解答。
<?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ì)跳轉(zhuǎn)到百度網(wǎng)頁(yè),這個(gè)代碼執(zhí)行起來(lái)沒(méi)有任何問(wèn)題,但是,當(dāng)我將這個(gè)重定向的url替換成另外一個(gè)的時(shí)候,問(wèn)題出現(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í)文件位于操作系統(tǒng)的臨時(shí)目錄中時(shí),過(guò)期的?session?臨時(shí)文件才會(huì)被自動(dòng)刪除
thinkphp 的redirect方法的參數(shù)用法和Url::build方法的用法一致 你查看下參考手冊(cè)就明白了,直接用? 就會(huì)被優(yōu)先解析為訪問(wèn)了本地方法。達(dá)不到預(yù)想效果