현재 위치: > 최신 기사 목록> PHP 헤더 기능을 사용하여 웹 페이지 리디렉션을 구현하여 새 페이지로 빠르게 이동하는 방법은 무엇입니까?

PHP 헤더 기능을 사용하여 웹 페이지 리디렉션을 구현하여 새 페이지로 빠르게 이동하는 방법은 무엇입니까?

gitbox 2025-08-07

웹 개발에서 웹 페이지 리디렉션은 로그인 한 후 개인 중앙 페이지로 리디렉션하거나 이전 페이지를 새 주소로 마이그레이션하는 것과 같은 일반적인 작업입니다. PHP는이 기능을 구현하는 간단하고 직접적인 방법, 즉 HEDER () 함수를 사용하여 HTTP 헤더 정보를 보내서 브라우저에 새 페이지로 이동하도록 알립니다.

1. 기본 구문

PHP의 헤더 () 기능은 원시 HTTP 메시지 헤더 정보를 보내는 데 사용될 수 있으며 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$header</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$replace</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$response_code</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>);
</span></span>

리디렉션에 사용될 때 공통 양식은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: https://www.example.com'</span></span><span>);
</span><span><span class="hljs-keyword">exit</span></span><span>;
</span></span>

위치는 브라우저가 다른 URL로 점프하도록 지시하는 특수 HTTP 헤더입니다. PHP가 후속 코드를 계속 실행하지 않고 예기치 않은 출력 또는 논리 오류를 방지하기 위해 출구가 호출됩니다.

2. 일반적인 사용 시나리오

1. 로그인하고 점프하십시오

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$login_success</span></span><span>) {
    </span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: /dashboard.php'</span></span><span>);
    </span><span><span class="hljs-keyword">exit</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"잘못된 사용자 이름 또는 비밀번호。"</span></span><span>;
}
</span></span>

2. 양식이 성공적으로 제출 된 후 점프

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
    </span><span><span class="hljs-comment">// 처리 양식</span></span><span>
    </span><span><span class="hljs-comment">// ...</span></span><span>

    </span><span><span class="hljs-comment">// 감사 페이지로 리디렉션하십시오</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: /thank-you.php'</span></span><span>);
    </span><span><span class="hljs-keyword">exit</span></span><span>;
}
</span></span>

3. 양식이 반복적으로 제출되는 것을 방지합니다 (게시/리디렉션/GET 모드)

양식을 제출 한 후 Header ()를 사용하여 점프를 사용하여 페이지를 새로 고치면 데이터의 반복 제출을 효과적으로 방지 할 수 있습니다.

 <span><span><span class="hljs-comment">// 데이터를 저장하고 점프하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: /success.php'</span></span><span>);
</span><span><span class="hljs-keyword">exit</span></span><span>;
</span></span>

3. 주목할만한 것들

  1. 출력 <br> 전에 헤더를 호출해야합니다 페이지에 출력 (예 : Echo, HTML 태그 또는 공백)이 있으면 Header ()를 사용하면 "헤더 정보를 수정할 수 없습니다". OB_START () 에 의해 출력 버퍼를 켜면이 문제를 피할 수 있습니다.

  2. 절대 경로를 사용하는 것이 더 안전합니다 <br> 위치 : Dashboard.php 와 같은 상대 경로를 사용할 수 있지만 경로 오류를 피하기 위해 절대 경로 또는 전체 URL을 사용하는 것이 좋습니다.

  3. HTTP 상태 코드 <br>과 함께 사용하십시오 HTTP 상태 코드는 예를 들어 헤더 () 의 세 번째 매개 변수를 통해 설정할 수 있습니다.

     <span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Location: /new-page.php'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-number">301</span></span><span>); </span><span><span class="hljs-comment">// 영구 리디렉션</span></span><span>
    </span></span>

    상태 코드는 다음을 의미합니다.

    • 301 : 영구 리디렉션

    • 302 : 임시 리디렉션 (기본값)

    • 303 : 양식 제출 후 점프에 권장됩니다

4. 요약

헤더 사용 ( '위치 : ...')은 PHP에서 웹 페이지 리디렉션을 달성하는 가장 직접적이고 효과적인 방법입니다. 마스터 링하면 페이지 탐색, 상태 전송 및 사용자 경험 최적화를 쉽게 처리 할 수 있습니다. 실제 프로젝트에서는 웹 표준에 더 부합하는 리디렉션 전략을 적절한 비즈니스 로직 및 HTTP 상태 코드와 함께 구현할 수 있습니다.