Недавно задался вопросом как установить свою собственную ошибку 404 на сайте, методом научного тыка, пришел к выводу, что за это отвечает специальный файл. Не могу сказать, насколько это верно и правильно с точки зрения коммьюнити Джумлы, но 404 ошибку я устанавливаю просто редактируя файл error.php в своем шаблоне.

error.php

Как установить свою 404 ошибку в джумле

Именно этот файл отвечает за настройку и работу 404 ошибки. Можно прописывать редирект на index.php, тем кто не очень любит кастомные страницы. Нет документа - на главную. Но тем кто хочет сделать свою страницу 404 ошибки на joomla 2.5 необходимо создать такого вида файл error.php в папке шаблона:

<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");
echo "<h1>404 ERROR</h1>";
//header('Location: error-404.html');
echo file_get_contents(JURI::root().'/error-404');
exit;
}

if ($this->_error->get('code') == '500') {
header("HTTP/1.0 404 Not Found");
//header('Location: error-404.html');
echo file_get_contents(JURI::root().'/error-404');
exit;
}

?>

Это дает пользу в том, что яндекс и другие поисковики смогут получить заголовок-хидер, который ясно даст им понять, что страницы действительно не существует. Этот вариант предпочтительней, если хотите угодить поисковикам. А кто сейчас не хочет этого? :)

update 17 августа 2016: для того чтобы установить ошибку 404 в джумле правильно, с ответом сервера 404 роботу нужно сделать это точно как в файле. Если хотите чтобы файл 404 ошибки был в дизайне сайта, тогда нужно создать материал, вставить его в скрытое меню и взять ссылку оттуда. В моем случае это будет error-404.


Редактирование error.php

Но это позволит вам настроить только редирект при детекте 404 ошибкой самой джумлой. Также можно настроить 404 ошибку с помощью директивы в htaccess.

ErrorDocument 404 /вашпутькфайлу404ошибки.php

Настройка ошибки 404 с помощью htaccess

Если у вас есть другой способ установки кастомной ошибки 404 в джумле или вы разбираетесь в директивах htaccess, прошу комментить.

Комментарии   

-4 #1 Виталий 20.10.2014 15:13
Владимир, а с кем вы разговариваете?
Цитировать

Добавить комментарий