- Подробности
-
Категория: CMS (Joomla, Drupal..)
<?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.
Найдите в этом фале строку:
Удалите все что находится в этом файле ниже данной строки и вставьте следующее:
<?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