>  기사  >  백엔드 개발  >  PHP 튜토리얼 리디렉션

PHP 튜토리얼 리디렉션

王林
王林원래의
2023-09-01 17:53:051463검색

리디렉션을 사용하면 클라이언트 브라우저를 다른 URL로 리디렉션할 수 있습니다. 도메인 전환, 사이트 구조 변경, HTTPS 전환 시 사용할 수 있습니다.

이 글에서는 PHP를 사용하여 다른 페이지로 리디렉션하는 방법을 보여 드리겠습니다. PHP 리디렉션이 어떻게 작동하는지 정확하게 설명하고 그 뒤에서 무슨 일이 일어나는지 보여드리겠습니다.

무료 온라인 강좌로 PHP를 배워보세요

PHP를 배우고 싶다면 PHP 기초에 대한 무료 온라인 강좌를 확인하세요!

기본 리디렉션은 어떻게 작동하나요?

PHP 리디렉션에 대해 자세히 알아보기 전에 HTTP 리디렉션이 실제로 어떻게 작동하는지 간단히 살펴보겠습니다. 아래 이미지를 살펴보세요.

PHP 튜토리얼 리디렉션

위 스크린샷에서 무슨 일이 일어나고 있는지 알아봅시다:

  • 클라이언트 브라우저는 서버의 특정 페이지를 요청합니다. 위의 예에서 클라이언트는 index.php 파일의 내용을 요청했습니다.
  • 서버가 index.php 파일에 대한 요청을 받았고 클라이언트에게 파일을 더 이상 사용할 수 없거나 다른 위치로 이동했으며 새 파일 new_index.php를 찾아야 함을 알리려고 합니다. PHP. 서버는 새 URL과 301 또는 302 HTTP 코드가 포함된 Location 헤더를 보냅니다. 리디렉션에 사용되는 HTTP 코드입니다.
  • 클라이언트 브라우저가 301 또는 302 코드를 발견하면 콘텐츠를 가져오기 위해 새 URL에 또 다른 요청을 해야 한다는 것을 알고 있습니다. 위 예에서는 new_index.php 파일을 가져오도록 요청합니다.

  • 마지막으로 서버는 새 URL의 내용을 보냅니다.

기본 HTTP 리디렉션이 작동하는 방식입니다. 다음 섹션에서는 PHP 리디렉션이 작동하는 방식에 대해 설명합니다.

PHP에서 리디렉션이 작동하는 방식

PHP에서 사용자를 한 페이지에서 다른 페이지로 리디렉션하려면 header() 함수를 사용해야 합니다. 헤더 기능을 사용하면 이전 섹션에서 논의한 실제 리디렉션을 수행하는 원시 HTTP 위치 헤더를 보낼 수 있습니다.

헤더 기능 사용 방법

header() 함수의 구문을 살펴보겠습니다.

으아아아
  • $header: 사용하려는 HTTP 헤더 문자열입니다. 우리의 경우 리디렉션을 위해 $header:这是您要使用的 HTTP 标头字符串。在我们的例子中,我们将使用 Location 헤더를 사용하겠습니다.
  • $replace: 헤더가 이전의 유사한 헤더를 대체해야 하는지 여부를 나타내는 선택적 매개변수입니다.
  • $http_response_code: 특정 응답 코드를 보낼 수 있습니다.

이제 다음 예시를 통해 이들이 어떻게 함께 작동하는지 살펴보겠습니다.

으아아아

위 스크립트가 실행되면 클라이언트 브라우저는 http://www.yoursite.com/new_index.php로 리디렉션됩니다. 뒤에서는 302 상태 코드와 함께 원시 HTTP Location 헤더를 보냅니다. 302 상태 코드는 임시 리디렉션에 사용되지만, 영구 리디렉션을 원하는 경우 다음 코드 조각과 같이 세 번째 매개변수에 301 상태 코드를 전달할 수 있습니다.

으아아아

301 영구 리디렉션을 사용하면 해당 페이지를 더 이상 사용할 수 없으며 새 페이지로 교체할 수 있음을 검색 봇에 알릴 수 있습니다.

헤더 리디렉션 후 Die()Exit() 기능을 사용하는 이유는 무엇인가요?

눈이 밝은 사용자라면 스크립트 실행을 중지하고 바람직하지 않은 결과를 피하기 위해 위의 예에서 exit() 函数。事实上,您必须在标头重定向之后立即使用 exit()die() 함수를 사용했다는 것을 알 수 있을 것입니다.

따라서 리디렉션 후에는 항상 이러한 기능 중 하나를 사용하는 것이 좋습니다.

유명한 오류: 헤더가 전송되었습니다

경험이 풍부한 PHP 프로그래머라면 일상적인 PHP 개발 중 어느 시점에서 이 유명한 PHP 오류를 접한 적이 있을 것입니다. 그러나 초보자의 경우 이 오류가 발생하면 디버깅 및 수정이 어렵기 때문에 정말 짜증납니다. 대부분의 경우 헤더 리디렉션으로 인해 발생했다는 사실조차 알지 못합니다.

경험 법칙은 스크립트에서 header() 함수를 사용할 때 그 전에 출력이 전송되지 않도록 해야 한다는 것입니다. 그렇지 않으면 PHP는 "Header Sent" 오류를 표시합니다. 헤더 기능을 사용하기 전에 공백을 보낸 경우에도 이런 일이 발생할 수 있습니다.

결론

이 기사에서는 PHP 프로그래밍의 중요한 기능 중 하나인 리디렉션에 대해 논의했습니다. 먼저, HTTP 리디렉션의 기본 사항을 살펴본 다음 이것이 PHP에서 어떻게 작동하는지 시연했습니다.

CodeCanyon의 최고의 PHP 스크립트

CodeCanyon에서 작성된 수천 개의 최고이자 가장 유용한 PHP 스크립트를 탐색해 보세요. 저렴한 일회성 결제를 통해 고품질 WordPress 테마 중 하나를 구매하고 귀하와 방문자의 웹사이트 경험을 향상시킬 수 있습니다.

PHP 튜토리얼 리디렉션

다음은 2020년 CodeCanyon에서 사용할 수 있는 가장 잘 팔리고 떠오르는 PHP 스크립트 중 일부입니다.

  • PHP 튜토리얼 리디렉션

  • PHP 튜토리얼 리디렉션

  • PHP 튜토리얼 리디렉션

  • PHP 튜토리얼 리디렉션

  • PHP 튜토리얼 리디렉션

  • 위 내용은 PHP 튜토리얼 리디렉션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.