Тестирование htaccess на ошибку сервера 500 без фактической ошибки

После прочтения некоторых руководств, Я создал файл ошибки, который должен отображаться вместо ошибки сервера 500. Я добавил его в корень домена и добавил следующую строку в конец .htaccess:

ErrorDocument 500 /error.html

Теперь вопрос в том, как я могу протестировать его на действующем сайте и убедиться, что страница с ошибкой появляется, когда сайт действительно падает?

Приветствуем любые предложения.

1
задан 19 February 2016 в 13:44
4 ответа

Взгляните на это:

Как вызвать внутреннюю ошибку сервера 500 в PHP?

https://stackoverflow.com/a/8687536/534883

0
ответ дан 3 December 2019 в 23:51

Создайте новый каталог и введите в этот каталог нефункциональный файл .htaccess (например, с синтаксической ошибкой или аналогичным). Затем откройте этот каталог в браузере.

0
ответ дан 3 December 2019 в 23:51

Я создал папку с именем http500 в корне www

. Я поместил в эту папку файл .htaccess со следующим текстом:

Redirect 500 /http500

Затем я открыл его http://example.com/http500

Вы можете опробовать разные страницы ошибок

Redirect 501 /http500

,

Redirect 502 /http500

или

Redirect 503 /http500

. Никакого перезапуска сервера не требовалось, изменение вступило в силу немедленно.

Источники :
https://stackoverflow.com/a/8687536/534883
https://bibwild.wordpress.com/2013/06/05/how-to-make-apache-fake-a-500- http-response /

1
ответ дан 3 December 2019 в 23:51

убедиться, что страница с ошибкой появляется, когда сайт действительно падает?

Это зависит от того, что вы подразумеваете под "когда сайт действительно падает". «Внутренняя ошибка сервера 500» — это такая общая ошибка... если сервер не может обработать запрос по какой-либо причине и нет другого подходящего ответа, тогда по умолчанию используется ответ об ошибке 500.

"Проблема" здесь заключается в том, что для большинства неконтролируемых 500 ошибок определение 500 ErrorDocument late в .htaccess просто слишком поздно, чтобы иметь любой эффект.

Вы можете перехватить более 500 ответов об ошибках, если 500 ErrorDocument определен ранее в конфигурации сервера или контейнере — здесь он должен быть определен. Но даже в этом случае, в зависимости от серьезности ошибки, пользовательский ErrorDocument все еще может не вызываться.

Вы можете «искусственно» инициировать ответ 500, как предлагает @TimoHuovinen, и это приведет к срабатыванию вашего пользовательского 500 ErrorDocument, однако, срабатывает ли это, когда ваш «сайт действительно падает», — это совсем другой вопрос.

1
ответ дан 18 October 2020 в 17:54

Теги

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