Страница 404

Рассмотрим, как создать свою страницу ошибки 404 в Joomla 2.5, 3.0 и 1.5.

Ошибка 404 показывается посетителю в том случае если та страница, которую он запросил, не существует или была удалена с сайта.

По умолчанию в Joomla существует страница ошибки 404, но она имеет следующий вид:

standartnaya-stranitsa-oshibki-404-v-joomla
Как вы можете видеть, она оформлена в виде отдельной страницы. Такой вариант данной страницы плох тем, что она показывается вне содержимого сайта и посетитель, который попал на такую страницу в 99% случаев уйдет из сайта. Да и выглядит данная страница, не очень хорошо выпадая из общего дизайна сайта.

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

Для этого зайдите в административную панель Joomla, создайте новый материал и дайте ему название, например «Ошибка 404 - страница не найдена». В самом материале напишите, какое либо сообщение и при желании дайте ссылки на определенные разделы сайта, куда бы мог перейти посетитель, попавший на эту страницу или большую поисковую форму.

Например, для данного сайта я указал следующую информацию на данной странице:

sobstvennaya-stranitsa-oshibki-404-v-joomla

 

Для Joomla 2.5 и 3.0 в настройках материала из выпадающего списка "Категория" выберите "Uncategorised".

Для Joomla 1.5 в настройках материала, из выпадающих списков «Раздел» и «Категория» выберите «Не указанно»;

Т. е. создайте так называемый статичный материал не принадлежащий ни одной категории. После этого сохраните данный материал и запомните его идентификатор (id). Его вы можете найти на странице создания материала: «ID Материала:» XX.

Теперь в начале рассмотрим создание страницы 404 в Joomla 2.5 и 3.0, а затем как это сделать в устаревшей версии Joomla 1.5.
Создание страницы ошибки 404 в Joomla 2.5 и 3.0.

Для начала перейдите в папку: ваш сайт/ templates/system/, скопируйте имеющийся там файл error.php в папку: ваш сайт/ templates/ваша-тема. Это необходимо сделать потому, что данный файл мы будем редактировать и чтобы при последующем обновлении системы все наши изменения не пропали, мы скопировали его в папку с нашей темой.

Откройте данный файл при помощи какого либо редактора кода. Найдите в нем следующую строку:

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">

Удалите все содержимое данного файла ниже данной строки и вставьте вместо его следующий код:
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=XX');
exit;} ?>

После этого в строчке: index.php?option=com_content&view=article&id=XX, замените XX на id того материала, который мы создавали для использования в качестве страницы 404. Сохраните файл. После этого все будет готово.

Можно еще создать короткий адрес для вашей страницы 404. Для этого создайте, (если у вас еще такового нет), скрытое меню т. е. меню которое вы не будете выводить на сайте при помощи модуля. В данном меню создайте пункт меню ведущий на материал используемый в качестве ошибки 404.

Для этого:
в поле "Тип пункта меню" выберите "Материал";
в поле "Выберите материал" укажите материал используемый для страницы 404;
в поле "Заголовок меню" можете указать что ни будь типа: "Ошибка 404 страница не найдена";
в поле "Алиас" error-404.

И нажмите "Сохранить".

punkt-menu-error-404

 

Теперь после переадресации на страницу 404 ее адрес будет вида: http://ваш-сайт.ru/error-404.html. Можете попробовать ввести адрес любой несуществующей страницы и проверить результат.

Еще можно заблокировать данную страницу в файле robots.txt, чтобы она не индексировалась поисковыми системами. Для этого в robot.txt добавьте следующее: Disallow: /error-404.html .
Создание страницы ошибки 404 в Joomla 1.5.

Пройдите в папку: ваш сайт/ templates/system/ и откройте, при помощи какого либо HTML редактора файл: error.php.

Найдите в этом фале строку:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Удалите все что находится в этом файле ниже данной строки и вставьте следующее:
<?php defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=43');
?>

Только вместо значения «43» укажите идентификатор того материала который вы создали выше, для отображения в качестве страницы ошибки 404.

После этого сохраните данный файл и попробуйте в адресной строке браузера набрать адрес, какой либо страницы вашего сайта, которая не существует, например: http://ваш-сайт.ru/bla-bla.html. В результате если вы все сделали правильно, то перед вами появится собственная страница ошибок 404, которая выводится в рамках самого сайта.