Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 페이지 리디렉션 구현하기: header() 함수 완벽 가이드

PHP에서 사용자를 한 페이지에서 다른 페이지로 이동시키는 것을 리디렉션(Redirection)이라고 하며, 이는 header() 함수를 통해 간단하게 구현할 수 있습니다. header() 함수는 PHP에 내장된 함수로, 목적지(클라이언트)에게 원시 HTTP 헤더(raw HTTP header)를 전송하는 역할을 합니다.

header() 함수의 문법

header( $header_value, $replace_value, $http_response_code)

각 매개변수의 역할은 다음과 같습니다.

  • $header_value: 헤더 문자열을 저장합니다. 리디렉션 시에는 'Location: URL' 형태로 지정합니다.
  • $replace_value: 기존에 설정된 동일한 유형의 헤더를 대체할지 여부를 결정하는 값입니다. 생략하면 기본값인 true가 적용됩니다.
  • $http_response_code: HTTP 응답 코드를 지정합니다. 예를 들어 301(영구 이동), 302(임시 이동) 등을 설정할 수 있습니다.

사용 예제

<?php
   header("Location: https://www.tutorialspoint.com");
   exit;
?>

위 코드에서 볼 수 있듯이, 리디렉션하고자 하는 웹사이트 주소는 header 함수 내에 'Location' 키워드와 함께 지정됩니다. 브라우저는 이 헤더를 받는 즉시 해당 URL로 이동하게 됩니다.

리디렉션 사용 시 주의사항

  • exit 또는 die 호출: header() 함수 호출 후에는 반드시 exitdie를 실행하여 이후 코드가 실행되지 않도록 해야 합니다.
  • 출력 이전에 호출: header() 함수는 어떠한 HTML 출력이나 공백보다 먼저 호출되어야 합니다. 이미 출력이 시작된 상태에서 호출하면 'headers already sent' 오류가 발생합니다.
  • 상대 경로 권장: PHP 5.1.3부터 Location 헤더에 절대 URL뿐만 아니라 상대 경로도 사용할 수 있습니다.

이처럼 PHP의 header() 함수를 활용하면 로그인 후 페이지 이동, 조건에 따른 분기 처리 등 다양한 상황에서 손쉽게 리디렉션을 구현할 수 있습니다.