programing

PHP 헤더 리디렉션 301 - 의미는 무엇입니까?

newstyles 2023. 7. 23. 14:07

PHP 헤더 리디렉션 301 - 의미는 무엇입니까?

있습니다example.com사용자가 로그인한 경우 자동으로 로드됩니다.example.com/option-X여기서 X는 사용자의 사전 정의된 선택입니다.

그래서, 저는 이것을 맨 위에서 합니다.index.php:

header("Location: /option-X");

그러나 사용자가 로그인하지 않은 경우 다음과 같은 첫 번째 옵션을 자동으로 선택합니다.

header("HTTP/1.1 301 Moved Permanently");
header("Location: /option-a");

이 작업의 의미와 관련하여 두 가지 질문이 있습니다.

  1. 검색 엔진 크롤러는 로그인되지 않으므로 항상 로그인됩니다.example.com/option-a301 헤더가 있는 것이 그들에게 영향을 미칩니까?
  2. 이러한 리디렉션을 수행할 때 서버 CPU 부하는 얼마나 됩니까?저는 그것을 어떻게 테스트해야 할지 모르겠습니다.현재 사이트(방향 수정이 없는 사이트)의 일일 방문 수는 약 10만 명입니다.

301의 효과는 검색 엔진이 색인화하는 것입니다./option-a대신에/option-x그 이후로 아마 좋은 일일 겁니다/option-x검색 인덱스에 연결할 수 없으므로 인덱스에 긍정적인 영향을 미칠 수 있습니다.당신이 이것을 현명하게 사용할 때만.

리디렉션 풋 후exit();실행할 스크립트의 나머지 부분을 중지합니다.

header("HTTP/1.1 301 Moved Permanently");
header("Location: /option-a");
exit();

이것이 더 낫습니다.

<?php
//* Permanently redirect page
header("Location: new_page.php",TRUE,301);
?>

코드 301을 포함한 전화 한 통이면 됩니다.또한 모든 최신 브라우저가 지원하는 것으로 보이는 동일한 디렉토리("/dir/dir/new_page.php" 등이 아님)에 있는 파일의 상대 경로에 주목하십시오.

저는 이것이 PHP 5.1.2 이전부터 유효하다고 생각합니다.

힌트: http_response_code를 사용하는 것이 전체 헤더를 쓰는 것보다 훨씬 기억하기 쉽습니다.

http_response_code(301);
header('Location: /option-a'); 
exit;

잘 부탁드립니다!die()리디렉션 후 스크립트가 실행되는 동안 가능한 빨리 리디렉션을 수행해야 합니다.더 이상의 데이터베이스 쿼리(있는 경우)가 쓸데없이 낭비되지 않도록 합니다.그것이 제가 당신에게 줄 수 있는 유일한 팁입니다.

검색 엔진의 경우 301이 최상의 응답 코드입니다.

301과 같은 검색 엔진은 404나 다른 유형의 클라이언트 쪽 리디렉션보다 리디렉션이 낫습니다. 걱정할 필요가 없습니다.

CPU 사용량은 최소화될 것입니다. 만약 당신이 더 많은 사이클을 저장하고 싶다면, 당신은 htaccess를 사용하여 아파치에서 리디렉션을 시도하고 처리할 수 있습니다. 그러면 php는 관여할 필요조차 없을 것입니다.서버를 로드 테스트하려면 apache와 함께 제공되는 ab을 사용하거나, 보다 강력한 테스트 도구를 찾고 있는 경우 httperf를 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/7324645/php-header-redirect-301-what-are-the-implications