Все ленты — последние статьи

error.php корректировка 404 в joomla

<?php
/**
 * @package        Joomla.Site
 * @copyright    Copyright (C) 2005 — 2014 Open Source Matters, Inc. All rights reserved.
 * @license        GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
if (!isset($this->error)) {
    $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    $this->debug = false;
}
//get language and direction
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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');

exit;} ?>

 

 Иные подробности.....

 

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

 

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

 

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

 

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

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

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

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

 

 

Для 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.

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

 

Теперь после переадресации на страницу 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, которая выводится в рамках самого сайта.

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

Материал подготовлен проектом: WebMasterMix.ru