Создаем единую страницу для обработки ошибок

P

Prosto

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

Код:
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 в корне сайта.
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>';
 
K

kenny

Гость
в секцию
~ \.php$
добавить
Код:
fastcgi_intercept_errors on;
error_page 500 /path/errors.php;
error_page 404 /path/errors.php;
error_page 403 /path/errors.php;
как-то так
 
Сверху