У меня проблема с функцией php http_response_code (). Я установил ErrorDocument 404 в файле htaccess в корневом каталоге моего сайта, чтобы перенаправлять каждый неправильный вызов в файл php. В этом php-файле я хотел бы установить заголовок ответа в некоторых случаях на код 200 OK. Но это не работает. Chrome всегда говорит мне, что код статуса 404.
Это содержимое моего файла .htaccess:
ErrorDocument 404 /abc.php
Это содержимое моего простого файла abc.php:
<?php
http_response_code(200);
?>
Test
Если я использую другой код, например 201, 301 или что-то еще, это работает. Только 200 не работает.
Вот ссылка на пример: http://test.foxpage.de/abdfgsdfgsdfgsdfgsdf
Кто-нибудь может мне помочь?
Спасибо!!
Я думаю, что это ошибка / особенность Apache. Вы не можете напрямую изменить код состояния на 200 из ErrorDocument.
Тем не менее, я думаю, что этот хак должен работать для вас, если вы можете жить с постоянным ответом 200 на свой ErrorDocument (что IMHO немного страшно, и что-то, что бот будет ненавидеть).
Redirect 200 /abc.php
ErrorDocument 404 /abc.php
пожалуйста увидеть этот ответ Больше подробностей.
Других решений пока нет …