[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: неверный ответ (200) на установку ответа 404
ufaclub
PHP 8.2

на не существующую страницу вывожу шаблон

else {

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
$title="404 Страница не найдена";
$description="Страница не найдена 404 Not Found";
$inc_page="inc/404.php";
};




вот в нем все работает и визуально страница оформлена как 404 и заголовок и описание все верно. А проверяю на ответ сервера - код ответа 200


Код статуса HTTP    200 OK
Время ответа сервера 61 мс
Кодировка UTF-8(unicode-1-1-utf-8, UTF8)
Размер страницы 12,59 КБ

Server: nginx-reuseport/1.21.1
Date: Tue, 25 Jul 2023 10:34:14 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Keep-Alive: timeout=30
Vary: Accept-Encoding
X-Powered-By: PHP/8.2.7
Content-Length: 12888




причем побывал по разному менял на header("HTTP/1.0 404 Not found");

все равно так же ответ 200

я так понимаю у меня проблема в .htaccess

RewriteEngine on
Errordocument 404 /404.php
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(robots\.txt)$ robots.php [L]
RewriteRule ^(sitemap\.xml)$ sitemap.xml.php [L]
RewriteRule ^(sitemap-obj\.xml)$ sitemap-obj.xml.php [L]
RewriteRule ^(yandex\.xml)$ yandex.xml.php [L]
RewriteRule ^(yandex-all\.xml)$ yandex.xml.all.php [L]
RewriteRule ^(yml\.xml)$ yml.all.php [L]
RewriteRule ^(yml-fat\.xml)$ yml.fat.php [L]
RewriteRule ^(avito\.xml)$ avito.php [L]
RewriteRule ^(avito\.jpg)$ avito-jpg.php [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*) index.php?do=/$1


вся система самописная

но почему то игнорируется правила установки ответа header("HTTP/1.0 404 Not found");

подскажите пожалуйста в чем может быть причина?
brevis
header('HTTP/1.0 404 Not Found', true, 404);
или
http_response_code(404);
Цитата
я так понимаю у меня проблема в .htaccess

может и где-то в конфигах nginx, так как

Цитата
Server: nginx-reuseport/1.21.1
killer8080
Посмотри в логи ошибок, либо включи их отображение. Скорее всего там найдешь
Цитата
Cannot modify header information - headers already sent
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.