지난 며칠간 PHP를 사용하여 새로운 웹사이트 코드를 작성할 때 header()를 사용하여 점프하는 경우 가끔 오류가 보고되는 것을 발견했습니다. 이유를 알 수 없어 온라인에서 확인해보니 일부 사람들이 그러더군요. 앞서 출력된 내용으로 인해 발생된 부분이 있고, 일부는 UTF8의 문제라고 합니다. 알아보기 전에 몇 가지 다른 점프 방법을 찾아 이 기능도 구현했습니다. 아래에서 간단히 소개하겠습니다.
1. HTTP 헤더 정보를 사용합니다
즉, PHP의 HEADER 함수를 사용합니다. PHP에서 HEADER 함수의 기능은 반환 정보 유형("Context-type: xxx/xxx") 선언과 같이 HTTP 프로토콜에 의해 지정된 WEB 서버를 통해 전달되어야 하는 제어 명령을 브라우저에 발행하는 것입니다. 페이지 속성("캐시 없음", "만료") 등
HTTP 헤더 정보를 이용하여 다른 페이지로 리디렉션하는 방법은 다음과 같습니다.
<? if (isset($url)) { Header("HTTP/1.1 303 See Other"); Header("Location: $url"); exit; } ?>
"Localtion:" 뒤에 공백이 있다는 점에 유의하세요.
2. HTML 태그 사용
HTML 태그를 사용합니다. 즉, META의 REFRESH 태그를 사용합니다. 예:
<? if (!isset($url)) exit;?> <HTML> <HEAD> <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>> </HEAD> <BODY> </BODY> </HTML>
3. 스크립트를 사용하여
을 구현합니다. 예:
<? $url="http://www.PHPuser.com"; echo "<!--<SCRIPT LANGUAGE="JavaScript">"; echo "location.href='$url'"; echo "</SCRIPT>-->"; ?>