thinkphp5使用redirect重定向的問題
芒果
芒果 2017-10-04 16:29:10
0
2
2653

老師您好,我在thinkphp5中使用redirect遇到了一個讓我非常困惑的問題,希望能幫忙解答。

<?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 '登录成功跳转';
    }
    public function ds()
    {
        return '登录失败跳转';
    }
}

這個程式碼按照老師說的方法,如果成功,則會跳到百度網頁,這個程式碼執行起來沒有任何問題,但是,當我將這個重定向的url替換成另外一個的時候,問題出現了。

替換如下:

<?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 '登录成功跳转';
    }
    public function ds()
    {
        return '登录失败跳转';
    }
}

如程式碼所示,我將redirect重定向的位址替換成了mqqapi協定的一個位址(這個是QQ的一個協定),當我替換成這個位址的時候,報如下錯誤:

QQ图片20171004023810.png

按道理來說這個show_pslcard只是這個mqqapi協定的url其中的一部分,不知道為什麼會出現這樣的錯誤。是與thinkphp框架中某個東西衝突了嗎,還是什麼別的原因。

希望老師能幫我解答。

芒果
芒果

全部回覆(2)
直奔十维

只有當 session 臨時檔案位於作業系統的暫存目錄中時,過期的 session 臨時檔案才會自動刪除

qzuser

thinkphp 的redirect方法的參數用法和Url::build方法的用法一致 你查看下參考手冊就明白了,直接用? 就會被優先解析為存取了本地方法。達不到預想效果

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!