Если документ не найден то на сайте Joomla! выскакивает ошибка 404, точнее стандартную страницу. Как его заменить? Если Вы пользуетесь различными программами автоматического создания ЧПУ, то они сами формируют страницу ошибки 404. Вам ее только надо отредактировать. А вот если Вы такими программами не пользуетесь, то Вам страницу 404 надо создать. Первый этап. Нужно создать файл с именем error.php в /templates/Ваш_Шаблон/ Код error.php следующий: Если у Вас выключен в настройках mod_rewrite <?php defined( '_JEXEC' ) or die( 'Restricted index access' ); if (($this->error->code) == '404') { header("HTTP/1.0 404 Not Found"); header('Location: ' . $this->baseurl . '/index.php/error.html'); exit; } ?> Если у Вас включен в настройках mod_rewrite <?php defined( '_JEXEC' ) or die( 'Restricted index access' ); if (($this->error->code) == '404') { header("HTTP/1.0 404 Not Found"); header('Location: ' . $this->baseurl . '/error.html'); exit; } ?> Второй этап. Создаете документ с любым именем. Назовите его, например, «Страница отсутствует». Вне раздела и категории. Заполните документ текстом. Мол страницы такой на сайте нет и т.д. Можно поставить картинку, да хоть звуковой файл. Третий этап. Создаете меню Error-menu. Модуль для него создавать не будем. Отображаться оно не будет. В этом меню создаем один пункт. Его тип - «стандартный шаблон материала» и выбираем страницу, созданную на втором этапе, т.е. «Страница отсутствует» Как называть пункт меню не имеет значение. Например, ошибка. Главное правильно заполните псевдоним меню «error». Все сделано. Но я пользуюсь другим методом. Никакие пункты меню и страницы я не создаю. Все ошибки я перенаправлю на главную страницу. Как правило, как бы Вы не оформили страницу «Страница отсутствует», все равно пользователь покидает Ваш сайт, если он заходит на подобную страницу. Очутись он на главной, шансов что он покинет сайт меньше. Итак, при таком подходе, Вам надо просто создать файл с именем error.php в /templates/Ваш_Шаблон/ с кодом: <?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; } ?> |