Как изменить страницу 404 в Apache (Ubuntu)

Всем здравствуйте. Сегодня будет статья про то, как изменить страницу 404 в Apache в ОС Ubuntu.

Подготовка страницы 404

По умолчанию в Apache используется следующая страница 404:

Наша задача заменить эту страницу на эту:

Создаем два файла – 404.html и .htaccess (этот файл без имени, но с расширением htaccess), который автоматически перенаправляет посетителя на 404.html, в случае возникновения ошибки. Чтобы перенаправление работало, в файл .htaccess надо прописать единственную строку:

ErrorDocument 404 http://www.домен_вашего_сайта/404.html

Далее скачиваем фотографию размером не менее 1200×750 пикселей.

Потом сохраняем фотографию в корень папки нашего сайта.

Открываем файл 404.html и вставляем в него следующий код:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Код страницы 404</title>
<style>
html { height: 100%; }
body {
  background: url(/название вашей картинки.jpg) no-repeat;
  background-size: cover; /* Масштабирует картинку сохраняя пропорции */
  }
.over {
  background: rgba(0, 0, 0, 0.7); /* Цвет фона и значение прозрачности */
  position: absolute; /* Абсолютное позиционирование */
  left: 0; right: 0; top: 0; bottom: 0; /* Отступы от краев браузера */
  }
.404 {
  margin-top: 100px;
  text-align: center; /* Выравнивание текста по центру */
  font-size: 10em;
  color: #fcf9f9;
  position: relative; /* Относительное позиционирование */
  z-index: 2; /* Порядок наложения элемента по высоте */
  }
.notfound {
  text-align: center;
  color: #fff;
  font-size: 2em;
  position: relative; /* Относительное позиционирование */
  z-index: 2; /* Порядок наложения элемента по слоям в глубину */
  }
.notfound a {
  color: #fff;
  font-size: 0.8em;
  }
.notfound a:hover {
  color: yellow;
  text-decoration: none;
  }
</style>
</head>
<body>
<div class="over"></div>
<div class="404">404</div>
<div class="notfound">страница не найдена<br>
<a href="ссылка на главную страницу вашего сайта"> перейти на главную страницу.</a>
</div>
</body>
</html>

Где написано название вашей картинки, вставляем вместо этой надписи название вашей картинки с расширением, помещённую в корень папки вашего сайта (расширение картинки может быть любое)

Где написано ссылка на главную страницу вашего сайта, вставляем вместо этой надписи ссылку на главную страницу вашего сайта.

Далее файлы 404 и htaccess помещаем в корень папки нашего сайта.

Настройка Apache

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

Для этого:

  1. Откройте файл конфигурации вашего виртуального хоста (домена), мы создавали его в этой статье:

sudo nano /etc/apache2/sites-available/домен_вашего_сайта.conf

2. После строчки CustomLog /var/www/домен_вашего_сайта/access.log combined добавляем следующую строчку:

ErrorDocument 404 /404.html

3. После внесения изменений сохраните файл и перезапустите Apache:

sudo systemctl restart apache2

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