{"error": "Page not found"} отдает 200 ок, как исправить?
Скрипт при не существующих страницах в браузер выводит сообщение {"error": "Page not found"} однако код ответа при этом 200 ок, как отдать 404?
Спасибо!
Добавил после скрипта который отображает результат с помощью echo $postResult; код
...?> <?php header('HTTP/1.0 404 Not Found'); ?>
теперь 404 отдается серверу. Но если страница есть, появляется сообщение об ошибке - header уже был передан т.е. пытается сработать 404, но в результате 200 ок как и нужно. Можно с помощью else сделать, чтобы при ответе 200 ок, 404 не отдавалась? Спасибо!
Скрипт контент генерирует на лету, выводит страницы по адресу вася.ру/1234567 - они существуют, все остальное не существует но отдает код 200 ок. Как для остальных адресов передать header("404 Not Found")
не знаю.
EverOne: возможно я чего то не понимаю.
Но как можно вернуть 404, который находится в Header, без редактирования Header? http_response_code получает или устанавливает код ответа. Но его все равно нужно вернуть.
<?php
// HTTP/1.1 404 Not Found
http_response_code(404);
echo '404 Not Found';
?>
А потом загляните в консоль Хрома, например. При вызове http_response_code() статус автоматом возвращается на клиент. Это все Сетевые Функции. Вы же не отправляете setcookie() через header() после создания.