Как сделать 404 страницу htaccess

08 апреля

3648

Комментариев: 0
Одной из востребованных тем, которая интересует многих пользователей, это настройка своих страниц ошибок с помощью файла .htaccess. Сегодня мы поговорим о том, как можно создать свою страницу ошибок самостоятельно.
Страница ошибок нужна как ответ пользователю при возникновении на сайте ошибки кода. То есть благодаря своей странице ошибок вместо непонятных сообщений они будут видеть конкретную информацию. Все это благодаря серверу Apache, создавая собственную страницу ошибок, вы сможете доступно описать пользователю возникшую проблему.
Например: о том что произошла ошибка или введен некорректный адрес или о том, что нужно начать просмотр с первой страницы.
Сегодня на примере ошибки 404 вы увидите как можно создать собственную страницу ошибок через файл .htaccess.
Сначала необходимо создать страницу ошибок, назвать ее и добавить на сайт.
Обязательно наличие файла .htaccess. Если вы не видите, тогда вам нужно изменить настройки. Для этого, зайдите в раздел «Параметры» в Диспетчере файлов и поставьте галочку напротив «Показывать скрытые файлы».

Итого, остается лишь зайти в сам файл .htaccess чтобы прописать:
ErrorDocument 404 /error404.html
Ставя после этого название собственной страницы, в нашем случае, это: mistakepage.html

Теперь нужно проверить результат проделанной работы. Переходим на свой сайт и после имени домена вводим несуществующий запрос. Как результат, вы увидите созданную страницу ошибок. Если же результат нет, значит во время работы с файлом .htaccess вами была допущена ошибка.

В итоге, если пользователи вашего сайта сделают запрос на несуществующий файл или страницу на вашем сайте, они будут видеть созданную вами страницу ошибок кода 404.

Также рекомендуем почитать:
Как защитить директорию паролем через .htaccess? Настройка редиректа 301 с www на без www через .htaccess Как заблокировать доступ к сайту с помощью .htaccess? Смена кодировки по умолчанию через .htaccess Настройка переадресации со страницы без www на www через .htaccess Включение gzip сжатия через файл .htaccess Как кэшировать сайт через файл .htaccess?
- Блог
- Хостинг, домены, мировые новости, обзоры ПО
- Рейтинги, обзоры, отзывы
- Наши новости, акции, нововведения
- Руководства, статьи, инструкции
- RSS
Популярное в категории


Июнь

76606


Июнь

65677


Октябрь

55540


Март

44169


Сентябрь

37223
Как настроить редирект на страницу 404 в htaccess?
У меня имеется сайт с языковыми версиями. У меня в папке ru лежит главная страница, 404.html, и доп. страницы на русском. Как настроить редирект на страницу 404, если человек попытается ввести несуществующий URL, когда он будет находится на русской доп. странице. Скорее всего непонятно 😀 Прикреплю скриншот структуры для большего понимания:
https://imgur.com/a/GRHenmQ
Если человек находится на странице about и он дописал несуществующий URL (например дописал — . /about/qwerty/), то его должно перекинуть на страницу 404 которая находится в папке ru
- Вопрос задан 05 апр.
- 212 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Чем больше знаю, тем лучше понимаю, как мало знаю.
Так ведь ErrorDocument 404 /ru/404.html же! Очевидно же!
Ответ написан 05 апр.
Но только в /ru/.htaccess .
Максим Иванов @mikilikala Автор вопроса
wisgest, Хм, а если у меня много языков, или много папок с отдельными страницами, то никак нельзя сделать только один htaccess в корне чтобы не заморачиваться?
Максим Иванов, можно, ErrorDocument 404 404.html
Но тогда файл 404.html должен быть в в любой директории. Или в директориях без 404.html делайте свой отключающий .htaccess с ErrorDocument 404 default
Максим Иванов, используйте для обработки ошибок не статический html-файл, а скрипт, например, на PHP. В нём определяйте какой нужен язык и отдавайте соответствующее содержимое. Впрочем, можно и статический html. В нём с помощью JS определяйте язык и динамически подгружайте содержимое.
Создать собственную страницу 404 в .htaccess
Рекомендуется создавать собственные страницы ошибок, чтобы посетители сайта смогли самостоятельно найти нужную информацию при возникновении проблем.
Например: «Возможно данный файл был перемещен или заменен на более новый. Воспользуйтесь формой для поиска нужной информации на нашем сайте.»
Чтобы пользователи автоматически переходили на страницу ошибки создайте перенаправление ErrorDocument в файле .htaccess.
Перенаправление ErrorDocument задает страницы, которые отображаются пользователю при определенных ошибках (403, 404, 500 и т.д.).
Укажите номер ошибки и адрес страницы (в этом примере ошибка 404):
ErrorDocument 404 http://domain1.com/errors/page404.html
Подробнее о настройке файла .htaccess Вы можете прочитать здесь.
В этой статье Вы можете ознакомиться с типовыми перенаправлениями.
Как создать страницу ошибки 404?
Прежде чем создавать страницу ошибки 404 давайте сначала разберёмся что это вообще за ошибка такая..
Ошибка 404 или Not Found — не найдено.. это стандартный код ответа HTTP о том, что страницы, к которой обращается пользователь, нет на сервере.. попросту она не существует.
Возникать данная ошибка может в ряде случаев:
Ссылка, по которой пришёл пользователь, неверна.
Пользователь неправильно указал путь в адресной строке к одной из страниц Вашего сайта.
Ранее существовавшая страница Вами уже удалена или переименована, однако всё ещё существует в индексе поисковых систем или закладках пользователей.
Что увидит пользователь в результате этой ошибки?
В лучшем случае страницу с рекламой Вашего хостера и кратким объяснением что мол Вы «не туда попали».. в худшем это будет просто надпись: 404 Not Found — The requested URL /page.html was not found on this server — собственно «Запрашиваемый URL отсутствует на этом сервере».
Теперь представьте, что сделает пользователь когда увидит эту картину? Правильно!! закроет эту страницу и пойдёт искать интересующую его информацию в другом месте!! — в результате чего Вы потеряете целевого посетителя!
Данная страница будет содержать элементы дизайна Вашего сайта — тем самым даст понять посетителю что, несмотря на то что он попал не совсем туда куда хотел он всё таки попал именно на Ваш сайт!
Пользовательская страница 404, в отличие от стандартных, не будет «тупиковой», а на ней будут располагаться ссылки на основные страницы сайта.. — Что позволит посетителю двигаться дальше и тем самым удержит его на Вашем сайте.
Ну и в конце концов на такой странице можно дать вразумительные объяснения того по каким причинам пользователь оказался на ней.. предложить ему выход из сложившейся ситуации.. помочь найти на Вашем сайте интересующую его информацию.
Как видите сплошные плюсы..
Создаётся страница ошибки 404 точно так же как и любая другая страница на Вашем сайте.. никаких нюансов в коде странице нет..
Ну например создадим файл с именем 404.html
К сожалению, запрашиваемая Вами страница не найдена..
Почему?
- Ссылка, по которой Вы пришли, неверна.
- Вы неправильно указали путь или название страницы.
- Страница была удалёна со времени Вашего последнего посещения.
Для продолжения работы с сайтом Вы можете воспользоваться формой поиска по сайту:
..или перейти на:
- Главную страницу сайта.
- Карту сайта
На самом деле это просто страничка «скелет» конечно же Вам следует создать свою собственную, полноценную страницу ошибки 404.
Создали? а вот теперь поговорим о нюансах..
Для того что бы в случае возникновения ошибки с кодом 404 посетитель переходил на только что созданную нами страницу, необходимо создать системный файл .htaccess который будет содержать в себе директиву: ErrorDocument 404 — это директива указывает серверу о том куда следует перенаправлять пользователя в случае возникновения ошибки 404.
Что это за файл такой спросите Вы?
Файл .htaccess (я не опечатался, пишется с точкой в начале имени и не использует никакого расширения) – дает возможность конфигурировать работу сервера в отдельных его директориях..
На данный файл может быть возложен ряд специфических задач.. например: устанавливать права доступа к файлам в папке, менять названия индексных файлов, глобально перенаправлять посетителей на другой сайт, запретить доступ к сайту с определённого ip адреса. и еще много всяких иногда очень полезных вещей может делать этот чудо файл.. в том числе может самостоятельно обрабатывать ошибки сервера — что нам собственно и нужно!
Однако углубляться во все подробности и тонкости мы не будем, а поговорим лишь о том, что нас интересует на данный момент.
Итак, создаём файл под названием .htaccess который содержит в себе одну единственную строчку (если таковой файл уже имеется с какими ни будь другими инструкциями серверу, то просто дописываем в него эту строчку):
ErrorDocument 404 http://www.site.ru/404.html
И заливаем его на сервер в корневую папку сайта.
Ну только естественно сначала поменяйте в файле .htaccess ссылку http://www.site.ru/404.html на адрес Вашей собственной страницы которая должна будет открываться при возникновении ошибки 404.
Вот собственно и всё! теперь если Вы всё сделали правильно, при возникновении ошибки 404 будет загружаться Ваша «ошибочная» страница.
Сейчас огорчу тех кто располагает свой сайт на том или ином бесплатном хостинге.. Большинство бесплатных хостеров не дают доступа к файлу .htaccess так что создать страницу 404 на бесплатном хостинге вряд ли удастся.
P.S.Таким же способом с помощью файла .htaccess Вы можете обрабатывать и другие ошибки сервера:
- 401 ошибка(ErrorDocument 401 http://www.site.ru/page.html)- Требуется авторизация.
- 403 ошибка(ErrorDocument 403 http://www.site.ru/page.html)- Пользователь не прошел аутентификацию, доступ запрещен.
- 500 ошибка(ErrorDocument 500 http://www.site.ru/page.html)- Внутренняя ошибка сервера.
Если что-то непонятно или Вы в чем-то сомневаетесь, то за дополнительными разъяснениями обращайтесь на форум.