Стандартная страница 404 ошибка довольна некрасива, поэтому часто требуется ее изменить на более симпатичную. Тут есть 2 варианта - можно сделать сложную страницу в дизайне сайта с функционирующим меню, либо сделать простую кастомную страничку за счет перенаправления в файле .htaccess "ErrorDocument 404 /filename.html или отредактировав файл error.php в шаблонах сайта. Об этих способах мы расскажем ниже:
[Способ 1]
В Joomle надо создать материал с текстом 404 страницы, например:
Страница не найдена
К сожалению, запрошенная страница не найдена на сервере или временно недоступна. Возможно, это вызвано техническими проблемами на сайте или повышенной нагрузкой на сервер в это время суток.
Попробуйте следующее:
Нажмите кнопку «Обновить» на панели управления браузера.
Проверьте правильность адреса страницы указанного в адресной строке браузера.
Нажмите кнопку «Назад», чтобы вернуться на предыдущую страницу сайта.
Нажмите на пункт меню «Домой», чтобы перейти к главной странице сайта.
Воспользуйтесь навигационным меню, чтобы перейти в другой раздел сайта.
Воспользуйтесь поиском, чтобы найти интересующую Вас информацию.
Если Вы считаете, что запрошенная Вами страница должна находиться по этому адресу или Вы перешли на нее по ссылке с одной из страниц этого же сайта, пожалуйста, сообщите нам об этом.
Затем создаем пункт меню, в котором указываем наш материал. Меню можно создать, но не публиковать его на сайте. В пункте 'ссылка' копируем URL вида ' index.php?option=com_content&view=article&id=21 '. Созданный нами пункт меню можно просто снять с публикации, или удалить.
В папке используемого шаблона находим файл error.php, в котором заменяем все его содержимое на следующие строки, указав вместо '/адрес странички' ранее скопированную ссылку.
<?php defined( '_JEXEC' ) or die( 'Restricted index access' ); if (($this->error->code) == '404') { header("HTTP/1.0 404 Not Found"); header('Location: ' . $this->baseurl . '/адрес странички'); exit; } ?>
либо
<?php defined('JPATH_BASE') or die(); echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=10'); ?>
Затем проверяем, введя любой неверный адрес в строке браузера.
Если нужно, чтобы при несуществующем URL открывалась главная страница, надо вместо /адрес странички поставить слэш "/".
------
При выполнении этих действий может возникнуть следующая ошибка: "Fatal error: Cannot access protected property JException::$code in *** on line *"
Скорее всего это связано с настройками у хостера.
[Способ 2]
Для изменения css страницы error.php ошибки в joomla необходимо править файл "error.css" по адресу /templates/system/css . В этом файле можно сделать страничку похожей на сайт.
Чтобы изменить сами фразы на странице ошибо надо править языковые файлы "ru-RU.ini" и "ru-RU.com_content.ini" по адресу /language/ru-RU. Здесь можно писать свой перевод или же добавить свои языковые переменные, которые потом нужно вписать в сам шаблон страницы 404: "error.php" по адресу templates/system.