При возникновении ошибок, например когда запрашиваемая страница не найдена или отсутствуют права доступа, сервер отдает соответствующее сообщение, содержащее код ошибки и сопроводительный текст, например

ошибка apache
У вас есть возможность при возникновении ошибок выводить свою страницу с информацией которую посчитаете нужной. Например описание ошибки на русском языке, а кроме того меню, форму поиска и тд. На многих сайтах есть страница, которая открывается при запросе несуществующего 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>';
В данном файле вы можете настроить свои стили, разместить меню, контакты администратора и прочее. Приведен упрощенный вариант, который будет выводить основную информацию по ошибке:


своя страница ошибки