Страница с ошибкой при отправке также устанавливает запрошенный код состояния HTTP.
Все работает нормально, за исключением того, что Apache по-прежнему добавляет свою собственную страницу с ошибкой в конце, нарушая XHTML.
Как это исправить (желательно внутри CGI-скрипт)?
Примеры:
Результирующий ответ, как показано в Firefox:
Код: Выделить всё
Parameterfehler
[*]
Parameterfehler
Fehlender Suchbegriff
Fehlende Datenquelle
[url=https://.../]...[/url]
406 Unknown Reason
Unknown Reason
An appropriate representation of the requested resource could not be found on this server.
Apache Server at www-tel Port 80
URL-адрес ошибки может выглядеть так: view-source:http://www-tel/test/api-v1?et=Parameter ... 70&es=406+ где es — это статус ошибки (код и дополнительное сообщение), а fn=70 говорит о выводе страницы ошибки.
Я не буду представлять Здесь я на самом деле могу построить errorp age, потому что я использую множество инструментов и констант, добавленных в сценарий, которые не подходят для минимального примера.
В основном я использую функции CGI:
- с атрибутами -status, -charset и -type
Код: Выделить всё
header() - с атрибутами -head, -lang, -meta и -title
Код: Выделить всё
start_html() - Добавьте контент, используя элементы div, span, p и некоторые навигационные ссылки
- для завершения выходного потока
Код: Выделить всё
end_html()
Одна из идей заключалась в использовании статуса успеха 200 для страниц ошибок, но, спросив об этом ИИ, он сказал:
Недостатки использования кода статуса успеха
Вводящая в заблуждение информация: Обслуживание страницы ошибки со статусом 200 OK может вводят пользователей в заблуждение, заставляя их думать, что страница загружена правильно, даже если содержание может указывать на ошибку.
Влияние на поисковые системы. Поисковые системы могут неправильно обрабатывать страницу, если она считается успешной, хотя на самом деле это не так, что влияет на SEO вашего сайта.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ts-own-mes
Мобильная версия