방문자가 현재 페이지에 액세스 할 수없는 경우 특정 페이지로 방문자를 리디렉션하는 리디렉션 기능을 사용하고 있습니다. 기능은 다음과 같습니다.
$user->redirect('www.google.com');
die();
리디렉션 기능은 다음에 연결됩니다.
public function redirect($url="",$time=0) {
header("Refresh: $time; url=$url");
}
리디렉션 될 때마다 흰색 페이지와 리디렉션되는 페이지가 잠시 표시됩니다. 흰색 페이지가 die()
.
나는 그것을 좋아하지 않으며 나는 이것을 정말로 없애고 싶다.
문제는 die()
호출 과 관련이 없지만 리디렉션을 처리하기 위해 잘못된 헤더를 전송하고 있습니다.
일의 Instad
public function redirect($url="",$time=0) {
header("Refresh: $time; url=$url");
}
하다:
public function redirect($url) {
header("Location: $url", true);
}
또는:
public function redirect($url, $temporal = false) {
header("Location: $url", true, $temporal ? 302 : 301);
}
이를 통해 리디렉션이 일시적이거나 영구적임을 나타 내기 위해 상태 코드 "301"또는 "302"를 보냅니다. 임시 리디렉션이 거의 유용하지 않기 때문에 기본값은 영구 리디렉션입니다 (귀하의 경우에는 권한 때문에 리디렉션이므로 임시 리디렉션이 적절할 수 있음).
( $url
빈 URL로 리디렉션하는 것이 의미가 없기 때문에 의 기본값도 제거했습니다. )
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다