PHP
Страница для вывода сообщений об ошибках сервера.
При возникновении ошибок, например когда запрашиваемая страница не найдена или отсутствуют права доступа, сервер отдает соответствующее сообщение, содержащее код ошибки и сопроводительный текст, например
У вас есть возможность при возникновении ошибок выводить свою страницу с информацией которую посчитаете нужной. Например описание ошибки на русском языке, а кроме того меню, форму поиска и тд. На многих сайтах есть страница, которая открывается при запросе несуществующего URL, что вызывает ошибку 404 Not Found, т.к. данная ошибка самая распространенная. Так же можно выводить информацию и по другим типам ошибок.
Рассмотрим процесс создания такой страницы для ошибок, которые определяются до выполнения скрипта программы самым сервером Apache.
В служебный файл сервера, который называется .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 находящийся в корне сайта. Страница должна открываться по ссылке:
http://ваш_сайт/errors.php
При открытии данной страницы по прямой ссылке, конечно, не будет выводиться информация касающаяся кода ошибки.
Учтите, что если вы в разработке используете CMS (например WordPress) или фреймворк (например Yii2), то там, скорее всего, уже есть такая страница (или ее нужно создать и подключить определенным образом).
Пример файла errors.php:
<?php
$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. Истекло время ожидания шлюза', 'Вышестоящий сервер не ответил за установленное время.'),
);
if (isset($_SERVER['REDIRECT_STATUS'])){
$status = $_SERVER['REDIRECT_STATUS'];
$title = ' '.$codes[$status][0];
$message = $codes[$status][1];
}
if(!isset($title)){
$title = $message = '';
}
echo '<h2>Внимание! Обнаружена ошибка'.$title.'!</h2>
<h4>'.$message.'</h4>';
В данном файле вы можете настроить свои стили, разместить меню, контакты администратора и прочее. Приведен упрощенный вариант, который будет выводить основную информацию по ошибке:
Другие статьи:
Комментарии
DarrenHot 11 Мая 2021 г.
аааабааалдееееть ----
triwpseirx 26 Марта 2021 г.
Muchas gracias. ?Como puedo iniciar sesion?
ysxtjbsdad 23 Марта 2021 г.
Muchas gracias. ?Como puedo iniciar sesion?
PhilipGutle 15 Ноября 2020 г.
Я извиняюсь, но, по-моему, Вы ошибаетесь. Могу отстоять свою позицию. Пишите мне в PM, обсудим. --- Да... Нам ешо далеко до такого... скачать фифа, скачать фифа а также скачать fifa
uqemgoxwkn 08 Ноября 2020 г.
Muchas gracias. ?Como puedo iniciar sesion?
ncylgkdvng 28 Июля 2020 г.
Muchas gracias. ?Como puedo iniciar sesion?
Mixjeade 13 Июля 2020 г.
Thank you very much for the invitation :). Best wishes. PS: How are you? I am from France :)
rardToosy 03 Декабря 2019 г.
i am from Italy hello. Can you help me translate? /rardor