PHP에서 리디렉션

Subodh Poudel 2023년1월30일
  1. PHP의header()함수를 사용하여 URL을 HTTP 헤더로 브라우저에 전송
  2. PHP의 도우미 메서드를 사용하여 상태 코드와 함께header()함수를 사용하여 다른 페이지로 리디렉션
  3. JavaScript에서 출력 버퍼링을 사용하여 다른 페이지로 리디렉션
PHP에서 리디렉션

브라우저에 HTTP 헤더를 전송하여header()함수를 사용하여 PHP에서 페이지를 다른 페이지로 리디렉션하는 한 가지 방법을 보여줍니다. 이 메소드는 PHP의 내장header()함수를 사용합니다.이 함수는Location을 원하는 페이지의 URL 값을 가진 매개 변수로 사용합니다.

또한 URL 및 상태 코드를 매개 변수로 사용하는 도우미 함수를 사용하여 페이지를 다른 페이지로 리디렉션 한 다음 메서드 내에서header()함수를 호출하는 방법을 소개합니다.

리디렉션 할 페이지의 URL을 저장하기 위해window.location을 사용하여 PHP의echo에서javascript를 사용하여 다른 페이지로 리디렉션하는 또 다른 방법을 보여줍니다.

PHP의header()함수를 사용하여 URL을 HTTP 헤더로 브라우저에 전송

위치를 매개 변수로 취하는header()함수를 사용할 수 있습니다. 위치의 값은 리디렉션해야하는 원하는 페이지의 URL입니다. 헤더 함수는 파일의 HTML 태그 및 텍스트 위에 작성되어야합니다. 다른 데이터가 브라우저로 전송 된 후에는header()함수가 실행되지 않습니다. 실행할 코드의 첫 번째 줄이어야합니다.

예를 들어, URL http://facebook.com을 변수redirect_page에 저장합니다. header()함수를 사용하고 함수의Location에 변수redirect_page를 지정합니다. 그런 다음die()함수를 호출합니다.

아래 예에서 Facebook의 URL은redirect_page변수에 저장됩니다. 변수는 헤더 함수에 사용됩니다. 다음 스크립트가 실행되면 페이지가 Facebook 홈페이지로 리디렉션됩니다. die()함수는 예기치 않은 동작을 방지하기 위해header()함수를 실행 한 후 스크립트가 계속되는 것을 중지합니다. header()함수에 대한 정보는 php 매뉴얼을 확인하십시오. 브라우저에서 실행하려면 PHP 파일을 로컬 웹 서버에 넣어야합니다.

예제 코드 :

# php 7.x
<?php
$redirect_page = 'http://facebook.com';
header('Location:'  .$redirect_page);
die();
?>

PHP의 도우미 메서드를 사용하여 상태 코드와 함께header()함수를 사용하여 다른 페이지로 리디렉션

페이지를 다른 페이지로 리디렉션하기 위해 도우미 기능리디렉션을 사용합니다.

redirect메소드를 정의하십시오. URL 및 상태 코드를 함수의 인수로 사용합니다. 메소드 안에header()함수를 작성하십시오. Location의 URL과header()함수의 인수로 상태 코드를 가져옵니다. 그런 다음die()함수를 호출합니다. 스크립트는die()함수를 만나면서header()함수를 실행 한 후 종료됩니다. 함수 정의 외부에서 URL http://example.com/을 매개 변수로 제공하는redirect함수를 호출합니다. URL을 매개 변수로 사용하여 함수를 호출합니다.

아래 예에서 상태 코드301은 영구적으로 다른 페이지로 리디렉션하는 데 사용됩니다. 스크립트는 현재 페이지를http://example.com/으로 리디렉션합니다. 303상태 코드에 대한 자세한 내용은 MDN 웹 문서를 확인하십시오.

예제 코드 :

#php 7.x
<?php
function redirect($url, $statusCode = 301) {
    header('Location: '  . $url, $statusCode);
    die();
}
redirect('http://example.com/');
?>

JavaScript에서 출력 버퍼링을 사용하여 다른 페이지로 리디렉션

PHP 내에서 JavaScript를 사용하여 페이지를 다른 페이지로 리디렉션합니다. 아래 예에서는 한 페이지를 Twitter 홈 페이지로 리디렉션합니다.

태그 스크립트 유형을text/javascript로 작성하여 일부 JavaScript 코드를 작성하십시오. window.location을 사용하여 URL을 저장합니다-http://www.twitter.com. echo를 사용하여 전체script태그를 인쇄합니다.

이 방법을 버퍼링 출력이라고합니다. 다른 페이지로 리디렉션하는 더 빠른 방법입니다. 버퍼링 된 출력에 대한 자세한 내용은 PHP 공식 사이트를 확인하십시오.

예제 코드 :

#php 7.x
<?php
echo '<script type="text/javascript">
    window.location = "http://www.twitter.com/"
    </script>';
?>
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn