После прочтения некоторых руководств, Я создал файл ошибки, который должен отображаться вместо ошибки сервера 500. Я добавил его в корень домена и добавил следующую строку в конец .htaccess:
ErrorDocument 500 /error.html
Теперь вопрос в том, как я могу протестировать его на действующем сайте и убедиться, что страница с ошибкой появляется, когда сайт действительно падает?
Приветствуем любые предложения.
Создайте новый каталог и введите в этот каталог нефункциональный файл .htaccess (например, с синтаксической ошибкой или аналогичным). Затем откройте этот каталог в браузере.
Я создал папку с именем 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 /
убедиться, что страница с ошибкой появляется, когда сайт действительно падает?
Это зависит от того, что вы подразумеваете под "когда сайт действительно падает". «Внутренняя ошибка сервера 500» — это такая общая ошибка... если сервер не может обработать запрос по какой-либо причине и нет другого подходящего ответа, тогда по умолчанию используется ответ об ошибке 500.
"Проблема" здесь заключается в том, что для большинства неконтролируемых 500 ошибок определение 500 ErrorDocument late в .htaccess
просто слишком поздно, чтобы иметь любой эффект.
Вы можете перехватить более 500 ответов об ошибках, если 500 ErrorDocument определен ранее в конфигурации сервера или контейнере
— здесь он должен быть определен. Но даже в этом случае, в зависимости от серьезности ошибки, пользовательский ErrorDocument все еще может не вызываться.
Вы можете «искусственно» инициировать ответ 500, как предлагает @TimoHuovinen, и это приведет к срабатыванию вашего пользовательского 500 ErrorDocument, однако, срабатывает ли это, когда ваш «сайт действительно падает», — это совсем другой вопрос.