2010-02-12 2 views
5

내 오류 페이지로 리디렉션되지만 모두 오류 페이지로 리디렉션되는데 내 오류 백분율은 ErrorDocuments입니다. 예를 들어, 오류 메시지가 ErrorDocument이면 오류가 발생하지 않습니다. PHP가 500을보고 할 때 표시됩니다. 500 코드는 브라우저로 보내지고 출력은 공백입니다. PHP와 함께 사용하기 위해 500 개의 오류 문서를 사용하기 위해 필요한 특별한 것이 있습니까?Apache ErrorDocument가 PHP 500 오류로 작동하지 않습니다.

내 지시어는 다음과 같이 : 나는 php.ini 파일을 통해 검토 한 결과 분명히 아파치 설정을 재정의 할 수있는 모든 작업을 볼 수없고 ErrorDocument 지침 내에서 존재하지

ErrorDocument 401 /errorpage.php?error=401 
ErrorDocument 403 /errorpage.php?error=403 
ErrorDocument 404 /errorpage.php?error=404 
ErrorDocument 500 /errorpage.php?error=500 

을 httpd.conf 어느 한 쪽. 어디 론가 내가보고 있어야만 해?

미리 감사드립니다.

답변

-1

오류 페이지가 오류를 생성 할 수 있기 때문에 Apache에서 PHP 파일을 500 개 오류로 실행할 수 있다고 생각하지 않습니다. 500 오류를 HTML 파일로 렌더링하고 지시문을 가리켜보십시오.

+3

제안 해 주셔서 감사합니다.하지만 .html 파일을 사용하면 아무런 변화가 없으며 브라우저는 여전히 500 응답과 콘텐츠를 수신합니다. –

0

이전에 Apache conf 체인에 ErrorDocument 선언을 추가해야 할 수도 있습니다. 이것을 vhost conf에 추가하면 호출되지 않을 수 있습니다.

2

매우 유사한 질문에 대한 대답 this을 참조하십시오. 기본적으로 PHP는 거의 500을 트리거하지 않습니다.

0

codeigniter 및 Imagick에서 작업하는 동안 동일한 문제가 발생했습니다. imagick이 뭔가 잘못되었을 때 500 HTTP 오류를 설정하고 있었고이 경우 Codeigniter의 사용자 정의 500 메시지가 표시되지 않았습니다.

나는 500 문제에서 발생 된 후 나는로드 온라인에 대한 읽기,

ErrorDocument 500 /errorpage.php?error=500 

위한 시도 - 캐치 there.As를 추가 곳 모두 Imagick functions.Check에 시도 - 캐치를 추가하여 해결 일부 사람들이 비슷한 문제를 해결했다고 주장하는 사람들과 아파치가 PHP에 제어권을 넘겨 주면 도움을 줄 수 없다고 말하는 사람들이 있습니다. PHP 코드에 따라 헤더를 500으로 설정하면 아마도 브라우저에 사용자 지정 500이 표시 될 것입니다 에러 메시지.

관련 문제