찾다

 >  Q&A  >  본문

Thinkphp5는 리디렉션 문제를 사용합니다.

안녕하세요 선생님, thinkphp5에서 리디렉션을 사용할 때 매우 혼란스러운 문제에 직면했습니다. 이에 대한 답변을 도와주실 수 있기를 바랍니다.

<?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 '登录失败跳转';
    }
}

이 코드는 선생님이 말씀하신 방법을 따릅니다. 성공하면 Baidu 웹페이지로 이동합니다. 하지만 리디렉션된 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 '登录失败跳转';
    }
}

코드에 나와 있듯이 리디렉션된 주소를 mqqapi 프로토콜(QQ의 프로토콜입니다)의 주소로 바꾸었는데, 이 주소로 바꾸면 다음과 같은 오류가 보고되었습니다.

QQ图片20171004023810.png

논리적으로 말하면 show_pslcard는 mqqapi 프로토콜 URL의 일부일 뿐인데 왜 그런 오류가 발생하는지 모르겠습니다. thinkphp 프레임워크의 내용과 충돌하는 걸까요, 아니면 다른 이유가 있는 걸까요?

선생님께서 답변을 도와주셨으면 좋겠습니다.

芒果芒果2616일 전2681

모든 응답(2)나는 대답할 것이다

  • 直奔十维

    直奔十维2017-10-05 16:39:32

    만료된 세션 임시 파일은 세션 임시 파일이 운영 체제의 임시 디렉터리에 있는 경우에만 자동으로 삭제됩니다

    회신하다
    0
  • qzuser

    qzuser2017-10-04 22:27:09

    thinkphp의 리다이렉트 메소드의 매개변수 사용법은 Url::build 메소드의 사용법과 일치합니다. 직접 참조 매뉴얼을 확인해보면 이해가 되실 겁니다. 먼저 로컬 메서드에 액세스하여 해결됩니다. 예상한 결과를 얻을 수 없습니다

    회신하다
    0
  • 취소회신하다