Загрузка...

Что такое ошибка 404?

Ошибка 404, или 404 Not Found – это стандартный код ответа протокола HTTP, который указывает на то, что запрашиваемый ресурс (страница) не найден. Но Вы должны понимать, что если возникает данная ошибка – доступ к серверу есть, но при этом, не возможно найти данные, соответствующие запросу пользователя. Общаясь с сервером по протоколу HTTP, так или иначе мы получаем различные трехзначные коды состояния запроса, и если ресурс успешно найден, то в качестве ответа, Вы получите, следующий результат — 200 Оk (Ok – пояснение к коду ошибки). Если же ресурс не доступен – то, как мы уже знаем — ошибка 404.

При этом в коде 404, первая цифра 4, указывает ошибку на клиентской стороне, то есть программного обеспечения пользователя (к примеру, в браузере указан не верный адрес страницы). Так же данная цифра, как бы формирует группу ошибок 4х.х. Вторая цифра 0, указывает на общую ошибку синтаксиса для протокола HTTP. И наконец, последняя – 4, конкретно указывает, на то, что ресурс не найден.

Поэтому, мы как разработчики, должны понимать, что данная ошибка может возникнуть, а значит, ее нужно как то обрабатывать. Вы можете спросить, как же обработать данную ошибку, если она возвращается в виде кода статуса запроса? И это действительно так, но если мы работаем с Joomla, мы должны знать, что абсолютно все запросы, на отображение страниц или выполнение каких либо действий, сводятся к единой точке входа в CMS, и это файл index.php. Данная точка входа, практически всегда доступна (сейчас мы не говорим о случаях когда его нет, так как это уже проблемы с целостностью самой CMS), а значит в соответствии с запросом пользователя, именно она решает, какой элемент CMS должен выполнить поставленную задачу. Таким образом, если запрашиваемый ресурс, не может быть найден, CMS самостоятельно формирует, вышеуказанную ошибку, то есть в качестве ответа на поставленный запрос, возвращается специальная страница Joomla, указывающая, что ресурс не найден и в качестве заголовка отправляется код статуса запроса 404 Not Found.

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

Теперь давайте поговорим о том, как сделать 404 страницу Joomla 3. Как я говорил Выше данная страница формируется непосредственно движком, а значит дизайн и оформление формируется в шаблоне. То есть если мы перейдем в каталог templates исходников Joomla, а затем в папку активного шаблона, в моем случае это beez3, мы увидим файл error.php, который как раз и отвечает за вывод содержимого страницы 404. Кстати по умолчанию, данная страница выглядит следующим образом!

1

Таким образом, если Вам необходимо изменить дизайн данной страницы, нужно править код файла error.php. При этом текстовое содержимое, которое Вы видите на странице 404, отображается из текущей локализации Joomla, то есть в коде файла Вы можете увидеть языковые константы, к примеру JERROR_LAYOUT_PAGE_NOT_FOUND, значения которых описаны в файлах “словарях” соответствующей локализации. Для шаблона Beez3, значения языковых констант, используемых на странице 404, содержатся в файле en-GB.ini, который располагается по адресу \language\en-GB (то есть для английской локализации). Соответственно Вы можете, в файле error.php, изменить структуру HTML разметки, подключить собственные стили, изменить содержимое языковых констант, или вообще их не используя, прописать необходимый текст, страницы 404 – то есть абсолютно все, что Вам нужно.

Так же для создания собственной страницы 404, Вы можете использовать произвольный материал, на который впоследствии в файле error.php, организуете простое перенаправление. Поэтому давайте создадим необходимую статью в менеджере материалов Joomla.

2

При этом в параметрах публикации, я отключил показ вспомогательной информации по материалу, а именно имя категории, имя автора, дата добавления и т.д.

Теперь давайте посмотрим, как настроить перенаправление на страницу 404 joomla 3. Для этого в файл error.php добавим следующий код (заменим его код).

Для использования кода, необходимо знать идентификатор и псевдоним созданного материала, а так же идентификатор категории, к которой привязан используемый материал (даные параметры можно узнать в соответствующих менеджерах). Обратите внимание, что метод _(), класса JRoute, формирует человеко-понятную ссылку из обычного URL. Синтаксис используемого URL следующий.

Теперь страница 404 выглядит следующим образом.

3

Хотел бы отметить, что используя расширение sh404sef joomla 3, Вы можете создать собственную страницу 404, без правок файла error.php, так как данная возможность предусмотрена функционалом. То есть, установив вышеуказанный компонент, необходимо перейти в настройки и включить оптимизацию ссылок.

3 4

Затем на вкладке “Страница ошибок”, в разделе интересующей локализации, используя визуальный редактор, Вы можете оформить собственную страницу 404.

4

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

5

{

}