2009-08-07 3 views

답변

18

헤더는 아파치가 404 페이지를 표시하도록하는 것이 아닙니다. 오히려, 아파치가 아파치가 404 페이지를 표시 할 때 함께 404 헤더를 보냅니다. 헤더는 서버가 아닌 브라우저의 의미를 갖습니다. Apache는 표시 할 적절한 파일을 찾을 수 없을 때 404를 표시합니다. PHP 스크립트를 사용하기 때문에 Apache는 이미 표시 할 수있는 파일을 찾았으므로 자체 404 페이지를 표시하지 않습니다.

7

PHP가 보낸 헤더는이 경우 브라우저에만 해당됩니다. 아파치는 이미 페이지를 처리하고 있기 때문에 자신의 페이지를 만들지 않을 것이고, 뭔가를 보낸다면 아파치는 충돌 할 것이다.

예, .htaccess 파일은 표시 할 페이지를 찾았 기 때문에 Apache에서 더 이상 404 오류가 없다고 생각하도록 규칙을 설정했기 때문에 오류 페이지를 표시하지 않습니다.

헤더를 보내는 것은 실제로 '상태 메시지'일 뿐이며 브라우저 또는 서버가 특정 페이지를 표시하지 않습니다. (대부분의 브라우저가 그렇지만).

Dav가 주석에서 지적했듯이 404 오류를 자체 오류 페이지로 보내려합니다.

+2

그래서 내 "페이지를 찾을 수 없음"페이지로 리디렉션해야합니까? –

+4

예, 일반적으로 이러한 메시지를 표시하려는 경우 PHP 앱이 수행하는 작업입니다. – Amber

+1

리디렉션하지 마십시오. 맞춤법 오류를 수정하는 것이 훨씬 더 어려워집니다. 404 페이지 만 제공하면됩니다. – TRiG

관련 문제