>  기사  >  백엔드 개발  >  PHP 404 오류로 인해 빈 페이지가 나타나는 이유는 무엇입니까?

PHP 404 오류로 인해 빈 페이지가 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 14:53:02193검색

Why Does My PHP 404 Error Result in a Blank Page?

PHP 404 오류 회피: 숨겨진 통신 결함 밝히기

PHP로 404 오류를 보내려고 하면 예상치 못한 결과가 발생할 수 있습니다. : 빈 페이지. 이런 일이 발생하는 이유를 이해하기 위해 제공하신 코드를 조사해 보겠습니다.

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
}

기술적으로는 정확하지만 이 코드는 HTTP 헤더를 "404 Not Found"로만 설정합니다. 그러나 이 헤더를 가로채기 전에 웹 서버가 이미 PHP 페이지 처리를 시작했습니다.

404 오류의 일반적인 흐름은 다음과 같습니다.

  • 사용자: "Do you do you? 이 URI에 뭔가가 있나요?"
  • 웹 서버: "아니요, 404입니다! 여기에 404 오류 페이지가 있습니다."

그러나 PHP 코드는 다음과 같습니다.

  • 사용자: "이 URI에 뭔가가 있나요?"
  • 웹서버: "예, PHP 페이지입니다. 상태 코드를 알려줍니다."
  • PHP: "OMG 404 !"
  • 웹 서버: "앗, 사람들이 남긴 오류 페이지이므로 PHP가 제공한 내용만 보내겠습니다."

따라서 404 헤더에도 불구하고 브라우저는 여전히 PHP 출력을 수신하고 빈 페이지를 렌더링합니다. 이 문제를 해결하려면 PHP는 404 오류 페이지도 제공해야 합니다. 예를 들어 다음 코드를 사용할 수 있습니다.

header('HTTP/1.0 404 Not Found');
echo '<html><head><title>404 Not Found</title></head><body><h1>404 Error</h1></body></html>';

위 내용은 PHP 404 오류로 인해 빈 페이지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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