>  기사  >  백엔드 개발  >  PHP에서 302 오류는 무엇입니까

PHP에서 302 오류는 무엇입니까

青灯夜游
青灯夜游원래의
2022-04-22 16:36:145329검색

PHP에서 302는 오류가 아니지만 다양한 요구 사항으로 인해 방문한 페이지가 일시적으로 다른 페이지로 이동했음을 나타내는 "임시 리디렉션"을 의미하는 HTTP 응답 상태 코드를 사용하여 302를 구현할 수 있습니다. 점프 전송, 구문은 "header('Location: jump url',true,302)"입니다.

PHP에서 302 오류는 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

302는 임시 이동됨을 나타내며 이는 HTTP 응답 상태 코드이며 오류가 아닙니다.

302는 임시 리디렉션을 의미하며, 이는 방문한 페이지가 다양한 요구로 인해 일시적으로 다른 페이지로 이동한다는 의미입니다.

PHP에서는 header()를 사용하여 302 점프를 구현할 수 있습니다.

두 가지 문법 형식이 있습니다:

  • 문법 형식 1:

header('HTTP/1.1 302 Moved Permanently');
header('Location: https://www.php.cn');
  • 문법 형식 2:

header('Location: https://www.php.cn', true, 302);

게다가 HTTPS/HTTP에 적응하고 싶다면 이것이 바로 그것:

header('Location: //www.php.cn', true, 302);

확장된 지식:

HTTP--3xx(리디렉션) 응답 상태 코드

요청을 완료하려면 추가 조치가 필요합니다. 일반적으로 이러한 상태 코드는 리디렉션에 사용됩니다. Google에서는 요청당 리디렉션을 5개 이하로 사용하는 것을 권장합니다. 웹마스터 도구를 사용하면 Googlebot이 리디렉션된 페이지를 크롤링하는 데 문제가 있는지 확인할 수 있습니다. 진단 아래의 웹 크롤링 페이지에는 리디렉션 오류로 인해 Googlebot이 크롤링할 수 없는 URL이 나열되어 있습니다.

  •  300(복수 선택): 요청에 대한 응답으로 서버는 다양한 작업을 수행할 수 있습니다. 서버는 요청자(사용자 에이전트)를 기반으로 작업을 선택하거나 요청자가 선택할 작업 목록을 제공할 수 있습니다.

  •  301(영구 이동): 요청한 웹페이지가 새 위치로 영구적으로 이동되었습니다. 서버가 이 응답을 반환하면(GET 또는 HEAD 요청에 대한 응답으로) 자동으로 요청자를 새 위치로 전달합니다. 페이지나 웹사이트가 새 위치로 영구적으로 이동되었음을 Googlebot에 알리려면 이 코드를 사용해야 합니다.

  •  302(임시 이동): 서버가 현재 다른 위치에 있는 웹페이지의 요청에 응답하고 있지만, 요청자는 향후 요청에 응답하려면 원래 위치를 계속 사용해야 합니다. 이 코드는 get 및 head 요청에 응답하는 301 코드와 유사합니다. 요청자를 자동으로 다른 위치로 리디렉션하지만 Googlebot이 웹페이지나 웹사이트를 이동했음을 알리는 데 사용하면 안 됩니다. 계속해서 원래 위치를 크롤링하고 색인을 생성합니다.

  • 303(다른 위치 보기): 요청자가 응답을 검색하기 위해 여러 위치에 대해 별도의 가져오기 요청을 사용해야 하는 경우 서버는 이 코드를 반환합니다. 헤드 외부의 모든 요청에 ​​대해 서버는 자동으로 다른 위치로 이동합니다.

  •   304(수정되지 않음): 요청한 웹페이지가 마지막 요청 이후 수정되지 않았습니다. 서버가 이 응답을 반환할 때 요청자의 마지막 요청 이후 웹 페이지가 변경되지 않은 경우 이 응답(if-modified-Since HTTP 헤더라고 함)을 반환하도록 서버가 구성되어야 합니다. 서버는 페이지가 마지막으로 크롤링된 이후 페이지가 변경되지 않았음을 googlebot에 알려 대역폭과 오버헤드를 절약할 수 있습니다.

  •   305(프록시 사용): 요청자는 요청한 웹 페이지에 액세스하기 위해 프록시만 사용할 수 있습니다. 서버가 이 응답을 반환하면 요청자가 프록시를 사용해야 함을 나타냅니다.

  •   307(임시 리디렉션): 서버는 현재 다른 위치에 있는 웹페이지의 요청에 응답하지만, 요청자는 향후 요청에 응답하려면 원래 위치를 계속 사용해야 합니다. 이 코드는 142c7a0ea3521a7e1e5bc3fd6984af795db79b134e9f6b82c0b36e0489ee08ed코드는 유사하며 요청자를 자동으로 다른 위치로 리디렉션하지만 googlebot에 페이지나 웹사이트가 이동했다는 사실을 알려서는 안 됩니다. 계속해서 원래 위치를 크롤링하고 색인을 생성합니다.

PHP 헤더를 사용하는 7가지 방법

1. 페이지로 이동

header('Location:'.$url);  //Location和":"之间无空格。

2. content-type

header('content-type:text/html;charset=utf-8');

3. 특정 시간 후에 점프 실행

header('HTTP/1.1 404 Not Found');
.

5. 브라우저 캐시 제어

header('Refresh: 10; url=http://www.php.cn/');  //10s后跳转。

6. http 확인 수행

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

7. 다운로드 작업 수행

header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');

추천 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP에서 302 오류는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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