» » СОЗДАЕМ ОБЩУЮ СТРАНИЦУ ДЛЯ ОШИБОК САЙТА

СОЗДАЕМ ОБЩУЮ СТРАНИЦУ ДЛЯ ОШИБОК САЙТА

СОЗДАЕМ ОБЩУЮ СТРАНИЦУ ДЛЯ ОШИБОК САЙТА


Как известно сайт имеет множество пере направлений при ошибках, будь то неверный запрос к сайту или распространенная ошибка не найденной страницы.

Таких основных ошибок около восьми, для всех их создавать отельную страницу не весьма охота, по этому можно создать массив с кодами ошибок и установить якоря пере направления на указанный вами php документ.

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

Как вы, наверное, догадались, мы будем работать с фалом .htaccess, если вы используете систему управления сайтом, то данный файл уже заготовлен системой, если используете самописный сайт то данный файл необходимо создать самостоятельно.

Шаг 1. .htaccess
Нам необходимо сделать редирект со всех ошибок, на единый файл, для примера страница будет errors.php, для получения пере направления, необходимо добавить следующие правила в файл .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


Таким способом можно перенаправить любую ошибку на единый файл с ошибкой.

Шаг 2. PHP

Нам необходимо создать файл 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 = 'Код ошибки не правильный.';
}

echo '<h1>Обратите внимание! Обнаружена ошибка '.$title.'!</h1>
<p>'.$message.'</p>';


Готово!

Первоисточник http://skripter.info
  • 80



29-09-2015, 21:24 914 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.