Как создать собственную страницу ошибок из CGI, чтобы Apache не добавлял собственное сообщение?Apache

Ответить
Anonymous
 Как создать собственную страницу ошибок из CGI, чтобы Apache не добавлял собственное сообщение?

Сообщение Anonymous »

Я написал CGI-скрипт на Perl, который полностью обрабатывает определенное приложение и в случае некоторых ошибок запускает перенаправление на страницу с ошибкой.
Страница с ошибкой при отправке также устанавливает запрошенный код состояния 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

Код для отправки страницы ошибки устанавливает статус HTTP, кодировку и тип контента в заголовке, а затем отправляет HTML-документ, созданный на основе некоторых параметров, переданных в URL-адрес ошибки.
URL-адрес ошибки может выглядеть так: view-source:http://www-tel/test/api-v1?et=Parameter ... 70&es=406+ где es — это статус ошибки (код и дополнительное сообщение), а fn=70 говорит о выводе страницы ошибки.
Я не буду представлять Здесь я на самом деле могу построить errorp age, потому что я использую множество инструментов и констант, добавленных в сценарий, которые не подходят для минимального примера.
В основном я использую функции CGI:
  • Код: Выделить всё

    header()
    с атрибутами -status, -charset и -type
  • Код: Выделить всё

    start_html()
    с атрибутами -head, -lang, -meta и -title
  • Добавьте контент, используя элементы div, span, p и некоторые навигационные ссылки
  • Код: Выделить всё

    end_html()
    для завершения выходного потока
Идеи
Одна из идей заключалась в использовании статуса успеха 200 для страниц ошибок, но, спросив об этом ИИ, он сказал:
Недостатки использования кода статуса успеха
Вводящая в заблуждение информация: Обслуживание страницы ошибки со статусом 200 OK может вводят пользователей в заблуждение, заставляя их думать, что страница загружена правильно, даже если содержание может указывать на ошибку.
Влияние на поисковые системы. Поисковые системы могут неправильно обрабатывать страницу, если она считается успешной, хотя на самом деле это не так, что влияет на SEO вашего сайта.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ts-own-mes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»