Страницы ошибок

Модули и плагины для vii (студяги)!
Ответить
Аватара пользователя
glGizma
Site Admin
Сообщения: 172
Зарегистрирован: Ср сен 27, 2017 2:20 pm

Страницы ошибок

Сообщение glGizma » Сб фев 01, 2020 8:49 am

В файле .htaccess (вашего сервера) нужно установить правила для обработки ошибок.

В нашем случае мы будем перенаправлять все ошибки в наш файл errors.php, который будет формировать страницу HTML для посетителя.

Добавляем в файл .htaccess следующие правила:

Код: Выделить всё

# error page
ErrorDocument 400 /errors.php
ErrorDocument 403 /errors.php
ErrorDocument 404 /errors.php
ErrorDocument 405 /errors.php
ErrorDocument 408 /errors.php
ErrorDocument 500 /errors.php
ErrorDocument 502 /errors.php
ErrorDocument 504 /errors.php
Теперь создаем файл errors.php, который должен располагаться в корневом каталоге вашего сервера "так как такое его местоположение установлено в заданных нами выше правилах в файле .htaccess".

Записываем в кишки файла errors.php

Код: Выделить всё

$status = $_SERVER['REDIRECT_STATUS'];
$codes = array(
       400 => array('400 Плохой запрос', 'Запрос не может быть обработан из-за синтаксической ошибки.'),
       403 => array('403 Запрещено', 'Сервер отказывает в выполнении вашего запроса на даное время.'),
       404 => array('404 Не найдено', 'Запрашиваемая страница не найдена на нашем сервере.'),
       405 => array('405 Метод не допускается', 'Указанный в запросе метод не допускается для заданного ресурса.'),
       408 => array('408 Время ожидания истекло', 'Ваш браузер не отправил информацию на сервер за отведенное время.'),
       500 => array('500 Внутренняя ошибка сервера', 'Запрос не может быть обработан из-за внутренней ошибки сервера.'),
       502 => array('502 Плохой шлюз', 'Сервер получил неправильный ответ при попытке передачи запроса.'),
       504 => array('504 Истекло время ожидания шлюза', 'Вышестоящий сервер не ответил за установленное время.'),
);
 
$title = $codes[$status][0];
$message = $codes[$status][1];
if ($title == false || strlen($status) != 3) {
$message = 'Код ошибки HTTP не правильный.';
}
 
echo '<h1>Внимание! Обнаружена ошибка на даной странице '.$title.'!</h1>
<p>'.$message.'</p>';
Вложения
(116).jpg
(116).jpg (694.48 КБ) 32 просмотра

Ответить