HTTP 301 상태 코드


요청된 리소스는 영구적으로 새 위치로 이동되었으며, 향후 이 리소스에 대한 참조는 이 응답과 함께 반환된 여러 URI 중 하나를 사용해야 합니다. 가능하다면 링크 편집 기능이 있는 클라이언트는 요청된 주소를 서버에서 반환된 주소로 자동으로 수정해야 합니다. 별도로 지정하지 않는 한 이 응답도 캐시 가능합니다.

응답의 위치 필드에 새 영구 URI가 반환되어야 합니다. HEAD 요청이 아닌 이상 응답 엔터티에는 새 URI에 대한 하이퍼링크와 간단한 설명이 포함되어야 합니다.

GET 또는 HEAD 요청이 아닌 경우 요청 조건이 그에 따라 변경될 수 있으므로 브라우저는 사용자가 확인하지 않는 한 자동 리디렉션을 금지합니다.
참고: HTTP/1.0 프로토콜을 사용하는 일부 브라우저의 경우 보내는 POST 요청이 301 응답을 받으면 후속 리디렉션 요청이 GET 메서드가 됩니다.

php를 사용하여 301 구현:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.xxx.com");

302와 301의 차이점은 무엇입니까?[권장 읽기: HTTP 302 상태 코드]

301과 302는 사용자에게 아무런 차이가 없습니다. 사용자는 효과만 볼 뿐입니다. 점프 턴, 브라우저의 이전 URL이 새 URL이 됩니다. 페이지는 이 새 URL이 가리키는 곳으로 이동합니다. 엔진 및 웹마스터의 경우 302 리디렉션은 URL 정규화 및 URL 하이재킹에 문제가 있을 수 있습니다. 검색 엔진에서는 의심스러운 리디렉션으로 판단할 수도 있고 부정 행위로 간주할 수도 있습니다.