리디렉션은 특히 URL 변경, SEO 또는 링크 구조 조정을 처리 할 때 웹 개발에서 일반적인 작업입니다. PHP는 HTTP 헤더의 출력을 구현하기 위해 헤더 () 함수를 제공하여 URL 리디렉션을 구현합니다. 다른 HTTP 상태 코드를 설정함으로써 리디렉션 유형을 제어 할 수 있으며, 가장 일반적으로 301 (영구 리디렉션) 및 302 (임시 리디렉션)입니다. 이 두 리디렉션의 주요 차이점은 의미론 및 응용 시나리오가 다르다는 것입니다.
301 리디렉션 (영구 리디렉션)
301 리디렉션은 자원이 새 위치로 영구적으로 이동했음을 의미합니다. 클라이언트 또는 검색 엔진이 301 응답을 받으면 원래 URL을 새 URL로 바꾸고 향후 요청에서 새 URL에 직접 액세스 할 수 있습니다. SEO의 경우 301 리디렉션은 원래 URL의 무게와 순위를 새 URL로 전달하는 가장 일반적인 방법입니다.
302 리디렉션 (임시 리디렉션)
302 리디렉션은 자원이 일시적으로 새 위치로 이동 함을 의미합니다. 클라이언트 또는 검색 엔진 이이 응답을 받으면 원래 URL을 계속 요청하고 새 URL을 영구 주소로 저장하지 않습니다. 이 리디렉션은 일반적으로 URL을 일시적으로 변경해야하지만 향후 원래 URL로 복원 될 때 사용됩니다.
PHP에서 헤더 () 함수를 사용하여 HTTP 헤더 정보를 보내 리디렉션을 구현할 수 있습니다. 적절한 HTTP 상태 코드를 지정하여 다른 유형의 리디렉션을 구현할 수 있습니다. 예를 들어:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://m66.net/new-url"); // 대상으로 교체하십시오 URL
exit();
?>
이 코드는 301 상태 코드를 사용하여 영구 리디렉션을 나타냅니다. 사용자가 현재 페이지에 액세스하면 브라우저가 새 URL로 향하고 리디렉션이 캐시되므로 나중에 액세스 할 때 새 주소로 직접 이동합니다.
<?php
header("HTTP/1.1 302 Found");
header("Location: https://m66.net/temporary-url"); // 대상으로 교체하십시오 URL
exit();
?>
이 코드는 302의 임시 리디렉션을 구현하고 브라우저는 일시적으로 새 주소로 이동하지만 원래 URL의 요청 주소를 변경하지는 않습니다. 임시 리디렉션이 완료되면 사용자는 원래 URL에 계속 액세스합니다.
특성 | 301 리디렉션 (영구 리디렉션) | 302 리디렉션 (임시 리디렉션) |
---|---|---|
의미론 | 영구적으로 이동하면 자원이 영구적으로 새로운 위치로 이동 함을 의미합니다. | 임시 운동은 자원이 일시적으로 새로운 위치로 이동 함을 의미합니다. |
SEO 충격 | 검색 엔진은 페이지의 무게를 새 페이지로 전달합니다. | 검색 엔진은 원래 페이지의 무게를 유지하고 새 페이지로 전달되지 않습니다. |
캐시 동작 | 브라우저 및 검색 엔진은 새로운 URL을 캐스팅하고 앞으로 더 이상 이전 URL을 요청하지 않습니다. | 브라우저 및 검색 엔진은 새 URL을 캐시하지 않지만 원래 URL을 여전히 요청합니다. |
시나리오를 사용하십시오 | 웹 사이트 구조가 변경, 도메인 이름 변경 또는 리소스 영구 마이그레이션에 따라 사용 | 임시 페이지 유지 보수, A/B 테스트 또는 임시 활성 페이지 중에 사용 |
실제 개발에서는 다양한 비즈니스 요구에 따라 301 또는 302 리디렉션을 사용하도록 선택해야합니다.
웹 사이트 마이그레이션 : 도메인 이름 또는 웹 사이트 구조 변경이 변경되어야 할 때 301 리디렉션을 사용하여 기존 URL을 새 URL로 영구적으로 리디렉션하여 SEO 무게를 잃지 않도록하십시오.
영구 삭제 페이지 : 페이지가 더 이상 사용되지 않고 복원되지 않으면 301 리디렉션을 사용하여 트래픽을 다른 관련 페이지로 직접 지시 할 수 있습니다.
통합 도메인 이름 : 웹 사이트에 여러 도메인 이름 (예 : www 및 비 WWW 버전)이있는 경우 301 리디렉션을 사용하여 액세스 경로를 통합하여 SEO에 영향을 미치는 중복 컨텐츠를 피할 수 있습니다.
임시 페이지 변경 : 예를 들어, 페이지가 유지 보수 또는 업데이트중인 경우 302를 사용하여 임시 페이지로 리디렉션하고 원래 페이지를 복원하기 전에 유지 보수가 완료 될 때까지 기다릴 수 있습니다.
A/B 테스트 : A/B 테스트를 수행하고 다른 페이지 버전을 테스트하려는 경우 SEO 가중치에 영향을 미치지 않으려면 302 리디렉션을 사용할 수 있습니다.
프로모션 : 시간 제한 프로모션을 수행하는 경우 사용자를 특별 페이지로 일시적으로 리디렉션하고 이벤트가 끝난 후 원본 페이지를 복원 할 수 있습니다.
PHP에서는 301 또는 302 리디렉션에 Header () 함수를 사용하는 것이 매우 간단하지만 웹 사이트의 SEO 및 사용자 경험에 올바른 리디렉션 방법을 선택하는 것이 중요합니다. 일반적으로 301 개의 리디렉션을 사용할 때 리소스가 위치가 영구적으로 변경되었는지 확인하고 302 개의 리디렉션을 사용할 때는 페이지 변경이 일시적임을 의미합니다. 이 두 가지 리디렉션 방법을 합리적으로 선택함으로써 웹 사이트의 URL 구조를 더 잘 관리하고 사용자에게 좋은 브라우징 경험을 제공 할 수 있습니다.
관련 태그:
header