Это не статья о том как избавиться от ошибки 404, а о том как сделать эту ошибку интереснее, вернее, её последствия. Стало интересно разнообразить, изменив скучную ошибку 404, для тех кто не знает эта ошибка результат отсутствия страницы по определенному адресу. Я перечитал несколько сайтов и форумов, что бы разобраться как устроена эта ошибка в Joomla 3, не смотря что мой случай не единственный, да и знаменитость самой CMS Joomla очень велика, но все примеры сводились к одному и тому же. Лично меня в этом не устраивало то, что имелся готовый шаблон который мне надо было переделать.
Для начала нам необходимо создать материал с текстом и весёлой картинкой, который будет выводиться в случае ошибки 404.
- Заголовок произвольный, желательно по смыслу .
- Алиас тоже произвольный, у меня "404".
- Должен быть опубликован.
- Прикрепите к какой-нибудь мало где видной категории. У меня "No index".
- Доступ "Публичный".
- Непонятная строка { loadmodule mod_search} отобразит форму поиска по сайту на нашей странице. Когда будете вставлять эту строку, уберите пробел после левой скобки, иначе форма поиска не отобразится.
Сохраняем материал и Заходим в настройки пунктов главного (или какого-то-там) меню. Создаём пункт меню.
- Заголовок произвольный, всё рано этот пункт меню никто не увидит.
- Алиас, естественно, "404" .
- Тип меню "Материал".
- Выбираем нашу только что созданную страничку.
- Не опубликована должна быть эта опция.
- Копируем и сохраняем эту строчку, она нам пригодится чуть позже.
- Закрываем от поисковиков информацию о нашей странице.
Теперь идём в менеджер шаблонов и создаём в корневой папке нужного нам шаблона файл под именем "error.php"
Код в файле должен быть как на картинке
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
header("HTTP/1.1 404 Not Found");
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=1321');
?>
То, что выделено красным, замените своим значением, которое Вы сохранили при создании пункта меню.
Для проверки работы данного метода Вы можете прейти на любую несуществующую страницу этого сайта, ну а дальше Вы и так все поймете :)
Как-то так... Удачи! Если что, пишите на форуме, там вам всегда рады!