2017-10-12 25 views
0

PHP 함수 http_response_code()에 문제가 있습니다. 내 웹 사이트의 루트 디렉토리에있는 htaccess 파일에 ErrorDocument 404를 설정하여 모든 잘못된 호출을 PHP 파일로 리디렉션합니다. 이 PHP 파일에서, 어떤 경우에는 응답의 헤더를 200 OK 코드로 설정하고 싶습니다. 그러나 이것은 효과가 없습니다.http_response_code (200) ErrorDocument 404와 작동하지 않습니다.

<?php 

http_response_code(200); 

?> 

Test 
: 이것은 내 간단한 abc.php 파일의 내용이

ErrorDocument 404 /abc.php 

입니다 : 크롬은 항상 상태 코드 (404)

이 내 htaccess로 파일의 내용이다 나에게 말한다

다른 코드를 사용하는 경우 201, 301 또는 다른 것, 그것은 작동합니다. 200 명만 효과가 없습니다. http://test.foxpage.de/abdfgsdfgsdfgsdfgsdf

누군가가 나를 도울 수

: 여기

은 예제에 대한 링크입니까?

Thx !!

+0

어떤 프레임 워크를 사용하고 있습니까? –

+0

아니요. 테스트 케이스의 경우 위에서 본 내용의 테스트 파일을 2 개만 만들었습니다. 그리고 그것은 작동하지 않습니다. – DocMacFoxx

+0

apache conf 또는 php.ini의 설정이 될 수 있습니까? – DocMacFoxx

답변

0

저는 이것이 아파치의 버그/기능이라고 생각합니다. ErrorDocument에서 상태 코드를 200으로 직접 재정의 할 수는 없습니다.

그러나이 해킹은 ErrorDocument (IMHO는 약간 무서워서 봇이 싫어하는 것)에서 영구적 인 200 개의 응답을 가지고 살 수 있다면 좋을 것입니다.

Redirect 200 /abc.php 
ErrorDocument 404 /abc.php 

자세한 내용은 see this answer을 참조하십시오.

+0

미안하지만, 그렇지 않아. 영구적 인 200 개의 상태 코드가 필요합니다. 매우 혼란스럽고 동일한 스크립트가 작동합니다. ctly 내 로컬 아파치/PHP 설치에 있지만 내 웹 서버에 :( – DocMacFoxx