Apache без любой ошибочной страницы

Хм.... Я когда-то взял интервью с запуском под названием Грибные Сети, который пытался сделать то, что Вы хотите сделать. У них действительно было устройство, которое сделало агрегирование Ваш предлагать. Вы могли бы хотеть исследовать их веб-сайт и видеть то, что они в настоящее время обеспечивают: mushroomnetworks.com.

0
задан 16 May 2012 в 10:47
3 ответа

Я почти уверен, что вы не можете этого сделать. Apache делает все возможное, чтобы быть полезным. Из документации ErrorDocument

В случае возникновения проблемы или ошибки Apache httpd может быть настроен на выполнение одного из четырех действий:

  1. вывод простого сообщения об ошибке в жестком коде

, остальное настраивается / local / и удаленные документы об ошибках. Позже в документации говорится

. Кроме того, можно использовать специальное значение по умолчанию, чтобы указать простое жестко закодированное сообщение Apache httpd.

Таким образом, похоже, что поведение по умолчанию заключается в предоставлении жестко закодированного ErrorDocument, и вы не можете переопределить его так, как хотите.

3
ответ дан 4 December 2019 в 11:58

Вы пытались установить пустые директивы ErrorDocument ? Это сработало?

ErrorDocument 404 ""

Или

ErrorDocument 404 /path/to/empty/file.html

Apache может быть полезным и игнорировать пустые значения, поэтому вам, возможно, придется отправить пробел или , чтобы предотвратить его переопределение ваших значений.

Стоит отметить, что в браузерах нет страниц ошибок для всех возможных кодов ошибок. Ответственность за предоставление этих страниц лежит на Сервере. Когда браузеры отображают собственные страницы ошибок, скорее всего, они будут общими и вводящими в заблуждение.

Internet Explorer уникален тем, что думает, что знает лучше, чем сервер, и переопределит ваши страницы с ошибками, если они меньше 512 байт. Остальные предоставляют страницы ошибок только для ситуаций, когда сервер не может , таких как ошибка поиска DNS, сброс соединения или цикл перенаправления. В большинстве браузеров вы получите, если отправите пустой документ об ошибке, это пустая страница.

0
ответ дан 4 December 2019 в 11:58

Если в вашем Apache есть PHP, Perl или любое другое динамическое расширение, способное управлять заголовками HTTP, то создайте настраиваемую страницу, которая будет отвечать нужными полями заголовка HTTP. (например, с использованием заголовка PHP () ), но без другого содержимого, такого как HTML.

Установка директивы ErrorDocument для этой настраиваемой страницы должна привести к желаемому результату.


Примечание. Мне известно, что в вашем вопросе задается вопрос, как выполнить ответ, настроив Apache так, чтобы не обслуживать содержимое страницы с ошибкой и не использовать какие-либо пользовательские страницы. Приведенный выше ответ действителен только в том случае, если вы не ограничены тем, как реальная проблема (т.е. предоставление ответа HTTP, содержащего только поля заголовка HTTP), должна быть решена. Действительно ли у вас есть ограничение, согласно которому реальная проблема (т.е. желаемый результат) не может быть решена с помощью какой-либо настраиваемой страницы?

1
ответ дан 4 December 2019 в 11:58

Теги

Похожие вопросы