3.03. 리다이렉트

리다이렉트는 다른 페이지로 이동하는 것을 말한다.

<?php
header("Location: /target_url");
exit();

위 코드를 redirect.php 파일에 저장하고 브라우저에서 결과를 확인한다.
http://localhost/redirect.php 에 접속하면 http://localhost/target_url 로 이동하는 것을 확인할 수 있다.


물론 http://localhost/target_url 에 해당하는 서버 리소스가 없으므로 브라우저에서는 404 not found 오류를 내 보낸다. 위 코드의 목적은 페이지가 이동하는 것을 확인하는 것이므로 정상이다.


http 규약상 다른페이지로의 이동은 http 응답 헤더 (response header) 에 301 혹은 302 코드와 이동할 페이지로의 이동 주소를 함께 보냄으로써 이루어진다. php 는 header 함수를 통해 응답 헤더에 보낼 데이터를 설정한다.

header("Location: /target_url");

exit() 는 php 실행을 끝내는 표시다. 이후에 어떤 코드가 있어도 실행하지 않로 응답을 브라우저에 되돌린다.

exit();

exit() 를 굳이 쓰는 이유는 이후에 나오는 코드가 리다이렉트가 아닌 다른 상태로 바꿀 가능성을 차단하기 위해서이다.