Topic/topic
페이지에서 Login/login
페이지로 점프한 뒤 $_SERVER['HTTP_REFERER']
로 로그인하면 주소는 http://localhost/a/jz/index.php/Home/topic/topic
과 같습니다. 이 주소가 맞네요. 주소창에 주소는 이렇게 됩니다 http://localhost/a/jz/index.php/a/jz/index.php/Home/Login/login.html
?
그리고 왜 이 점프 주소는 이전에 세션에 저장된 주소가 아닌가?
<code>以下是login控制器下login操作方法跳转部分的代码 $url=$_SERVER['HTTP_REFERER']; session('url',$url); var_dump(session('url')); if(!isset(session('res2')[0])){ //验证通过产生的session是否存在 $this->display(); //不存在session还显示login页面 }else{ $this->redirect(session('url')); //存在则跳转 }</code>
Topic/topic
페이지에서 Login/login
페이지로 점프한 뒤 $_SERVER['HTTP_REFERER']
로 로그인하면 주소는 http://localhost/a/jz/index.php/Home/topic/topic
과 같습니다. 이 주소가 맞네요. 주소창에 주소는 이렇게 됩니다 http://localhost/a/jz/index.php/a/jz/index.php/Home/Login/login.html
?
그리고 왜 이 점프 주소는 이전에 세션에 저장된 주소가 아닌가?
<code>以下是login控制器下login操作方法跳转部分的代码 $url=$_SERVER['HTTP_REFERER']; session('url',$url); var_dump(session('url')); if(!isset(session('res2')[0])){ //验证通过产生的session是否存在 $this->display(); //不存在session还显示login页面 }else{ $this->redirect(session('url')); //存在则跳转 }</code>
$this->redirect
가 해결해야 할 문제입니다
방법 1: $_SERVER['HTTP_REFERER']
을 사용하여 str_replace
$url = str_replace('http://localhost/a/jz/index.php','',$url);
에서 얻은 콘텐츠의 이전 부분을 제거합니다.
을 사용하여 점프하지 말고 대신 $this->redirect(session('url'));
header('location:'.session('url'));exit();
을 사용하세요.