Форум русской поддержки Joomla!® CMS
28.06.2017, 23:21:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: 1 [2] 3 4 5 6   Вниз
  Добавить закладку  |  Печать  
Автор

[FAQ] Собственная страница 404 ошибки для Joomla 2.5

 (Прочитано 77199 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
lolitma
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 22


« : 15.09.2011, 15:01:05 »

Для Joomla 1.5 есть такое решение для создания собственной страницы 404:

    1. Создать материал, не указывая раздел и категорию.
    2. Создать ссылку через меню. После создание ссылки там же в ней посмотреть адрес статьи, например index.php?option=com_content&view=article&id=54
    3. В файле error.php, который находится в папке templates/system стереть всё содержимое и вместо этого написать:

        <?php
        defined('JPATH_BASE') or die();
        echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=54');
?>

А как это сделать на Joomla 1.7?
« Последнее редактирование: 29.08.2013, 10:15:27 от b2z » Записан
 
b2z
Support Team
*****

Репутация: +734/-0
Offline Offline

Пол: Мужской
Сообщений: 7725


Разраблю понемногу


« Ответ #31 : 18.04.2012, 15:51:27 »

Тему перенес в раздел Настройка и оптимизация - больше по духу подходит, чем Общие вопросы.
Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

Пол: Мужской
Сообщений: 3035


вжжж-вжжж


« Ответ #32 : 18.04.2012, 17:33:24 »

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

http://joomlaforum.ru/index.php/topic,210051.0.html
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1240


« Ответ #33 : 18.04.2012, 18:01:38 »

@ALL
Господа, а кто Вам мешает использовать com_qlue404? Прост и удобен.
Любая страница, которой нет на сайте, будет отображена через этот компонент.

Пример работы: www.sutki-dom.ru/arenda.html
Записан
Fedor Vlasenko
Профи
********

Репутация: +703/-5
Offline Offline

Пол: Мужской
Сообщений: 3832


Все начинается с Value


« Ответ #34 : 18.04.2012, 18:09:37 »

@ALL
Господа, а кто Вам мешает использовать com_qlue404? Прост и удобен.
Любая страница, которой нет на сайте, будет отображена через этот компонент.
И получать ответ сервера 200 ОК ?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1240


« Ответ #35 : 18.04.2012, 18:26:31 »

@Poznakomlus
А показ компонента в теле сайта это не 200 ОК?  Azn
В комплекте имеется также плагин. Посмотрите пример работы.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1240


« Ответ #36 : 18.04.2012, 18:39:25 »

@Poznakomlus
Пардон! Он не дает 200 ОК... засада, однако... Azn
Записан
Fedor Vlasenko
Профи
********

Репутация: +703/-5
Offline Offline

Пол: Мужской
Сообщений: 3832


Все начинается с Value


« Ответ #37 : 18.04.2012, 18:49:05 »

Да не увидел сразу 404 подтверждаю Cheesy
404
« Последнее редактирование: 20.04.2012, 16:04:22 от Poznakomlus » Записан
lubitel3
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 23


« Ответ #38 : 18.04.2012, 20:22:17 »

Цитировать
@ALL
Господа, а кто Вам мешает использовать com_qlue404? Прост и удобен.
Любая страница, которой нет на сайте, будет отображена через этот компонент.
Да... Это конечно хорошо... почти как из пушки по воробъям Wink
Ставить целый компонент только ради того, что бы не править код одной странички, под свой дизайн, что занимает минут 15-30?
тогда наверно да.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1240


« Ответ #39 : 18.04.2012, 23:36:54 »

@lubitel3
Уважаемый, тут 50% не знают, на чем работают сайты под управлением Joomla, а когда речь заходит о правках кода, то это их вводит в ступор...
Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

Пол: Мужской
Сообщений: 3035


вжжж-вжжж


« Ответ #40 : 18.04.2012, 23:57:07 »

yunoshev, но как по мне, так проще за час сделать годную страницу ошибок из error.php, чем ставить под это отдельный компонент. Ко всему прочему по желанию могу выдернуть вывод как внутри шаблона, так и изменить под требования клиента до неузнаваемости.
Записан
gray314
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #41 : 23.04.2012, 12:17:05 »

Привет! Народ помогите, столкнулся с такой проблемой...
сделал собственную страницу по вашим примерам на основе error.php, всё ок, страница - отдает код "404 Not Found"... но проблема в том, что она срабатывает только по "неправильным урлам" в которых есть "-" (тире), вот пример:
http://www.porta-market.ru/catalog.html  -  валидная страница
http://www.porta-market.ru/cataaaaaaaalog.html  - по идее должна быть 404 (((
http://www.porta-market.ru/cataaaaa-aaalog.html  - и вот только в таком варианте отдается 404 страница с ошибкой...

я подозреваю что эт чет с настройками, но не могу понять где(, ну или посетуйте где можно че-то "подпилить" в коде, я поправлю.

Заранее спасибо!)
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #42 : 23.04.2012, 21:30:39 »

Господа, я так и не понял как сделать редирект с 404 на главную страницу
в какой файл и что вставить - помогите Sad
на 1.5 у меня все получилось, делаю сайт на 2.5 - не могу этого сделать Sad
« Последнее редактирование: 23.04.2012, 21:40:29 от злобный ламер » Записан
noname-dev
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 285



« Ответ #43 : 24.04.2012, 09:27:57 »

Господа, я так и не понял как сделать редирект с 404 на главную страницу
в какой файл и что вставить - помогите Sad
на 1.5 у меня все получилось, делаю сайт на 2.5 - не могу этого сделать Sad
Этого не нужно делать, где вы такое вычитали? Редирект с несуществующей на главную - это зло!
Записан
StyleRocket
Завсегдатай
*****

Репутация: +4/-3
Offline Offline

Сообщений: 567


« Ответ #44 : 24.04.2012, 21:19:57 »

Знатоки подскажите, имею страницу 404 от разработчиков шаблона, при выводе страницы, внизу есть типа ссылка на главную страницу, но она не броская и есть вероятность что клиент просто соскочить. Вверху есть лого сайта, оно уж точно бросается в глаза, вопрос как его сделать переходом на главную сайта, а то при нажатии просто обновляется страница 404 ошибки?!
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #45 : 24.04.2012, 21:43:13 »

Этого не нужно делать, где вы такое вычитали? Редирект с несуществующей на главную - это зло!
Вот не знаю где нашли таких знатоков, а мне нужно чтоб клиент не уходил с сайта, а попадал на главную страницу, в вот зло это или нет, уж решать мне.
яндекс прекрасно увидит что страницы нет, поверьте мне Azn
Записан
gray314
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #46 : 25.04.2012, 21:25:43 »

Привет! Народ помогите, столкнулся с такой проблемой...
сделал собственную страницу по вашим примерам на основе error.php, всё ок, страница - отдает код "404 Not Found"... но проблема в том, что она срабатывает только по "неправильным урлам" в которых есть "-" (тире), вот пример:
http://www.porta-market.ru/catalog.html  -  валидная страница
http://www.porta-market.ru/cataaaaaaaalog.html  - по идее должна быть 404 (((
http://www.porta-market.ru/cataaaaa-aaalog.html  - и вот только в таком варианте отдается 404 страница с ошибкой...

я подозреваю что эт чет с настройками, но не могу понять где(, ну или посетуйте где можно че-то "подпилить" в коде, я поправлю.

Заранее спасибо!)

Ребят, есть идеи??(
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1240


« Ответ #47 : 26.04.2012, 16:02:13 »

@Poznakomlus
Я тут подумал, а зачем поисковикам отдавать 200 ОК на страницу, которой у меня на сайте нет и не будет? 404 для того и есть, чтобы указать, что данной страницы нет на сайте, а потому это будет командой для умных поисковиков выкинуть страницу из индекса. Мне не нужны тонны несуществующих страниц в индексных базах поисковиков. Нормальный SEO предполагает, что как раз страница сайта либо есть, либо ее нет, а приведенные здесь решения именно для "живых" посетителей сайтов, у которых либо "рука дрогнула" при наборе адреса Azn  либо была старая ссылка в кеше поисковика, а значит надо ему дать понять, что с сайтом все ОК, а просто нет такой страницы.
Что-то Вы, уважаемый, перегибаете или не в том направлении думаете. Azn
Записан
Rival
Осваиваюсь на форуме
***

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #48 : 30.04.2012, 19:36:31 »

Понравились прикольные страницы 404
http://www.dejurka.ru/web-design/mistakes-404-3/
сделал свою, у меня сайт строительной тематики, я туда Джамшута с Равшаном поставил,
с несколькими их цитатами.
Как делал, в файле error.php удалил весь код, открыл гугловскую страницу с ошибкой 404,
скопировал HTML код , заменил картинки на свои и свой текст написал. Все.
Пару идей, можно использовать плакаты, типа а ты записался добровольцем, со своим текстом. Известные картины например черный квадрат Малевича. Или страницу из поисковика сообщающая что страница может нанести вред компьютеру. И т д. Пользуйтесь.   
« Последнее редактирование: 30.04.2012, 19:44:21 от Rival » Записан
Marques
Живу я здесь
******

Репутация: +190/-9
Offline Offline

Пол: Мужской
Сообщений: 1452


Ctrl+F5


« Ответ #49 : 05.05.2012, 03:20:52 »

Вау, круто... видимо стоило писать об этом в прикрепленную тему, реально помогло! Вот только интересно... а чего это у меня теперь страница не отдает 404 в заголовке? А почему она теперь открывается по прямой ссылке... Не подскажете ?
Записан
NightGuard
Практически профи
*******

Репутация: +378/-7
Offline Offline

Пол: Мужской
Сообщений: 3035


вжжж-вжжж


« Ответ #50 : 05.05.2012, 08:24:47 »

Как делал, в файле error.php удалил весь код, открыл гугловскую страницу с ошибкой 404,
скопировал HTML код , заменил картинки на свои и свой текст написал. Все.
а чего это у меня теперь страница не отдает 404 в заголовке? А почему она теперь открывается по прямой ссылке... Не подскажете ?
Потому что заголовки убраны, а готовая страница естественно отдает 200.
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #51 : 28.05.2012, 19:03:24 »

Rival -спасибо поступил по вашему примеру!
Записан
АН
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 24


« Ответ #52 : 06.06.2012, 16:45:45 »

Добрый день, коллективный разум!
У меня особая ситуация - сделал все так, как писал alp.

А как быть с вложениями?
Вот посмотрите пожалуйста на эту ссылку http://bilet.oblavtotrans.ru/index.php?option=com_content&view=article&id=39 - 404 страница без вложений
и на эту ссылку http://bilet.oblavtotrans.ru/avtomatika/index.php?option=com_content&view=article&id=39 - 404 страница с вложениями

Это можно как то вылечить?



Записан
Dobreff
Давно я тут
****

Репутация: +9/-4
Offline Offline

Сообщений: 215


« Ответ #53 : 07.06.2012, 18:07:45 »

Интересно следующее:
Страницу вынесли в FAQ
Можно спросить того кто вынес ее? Какое тут решение? Тут их несколько и не понятно какое кривое, а какое рабочее.
Для 1.5 да есть, но топик для 1.6/1.7/2.5
Записан
Valdimarr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #54 : 10.06.2012, 02:17:15 »

Люди, а подскажите пожалуйста как сделать две разные страницы 404? Сайт у меня на двух языках и соответственно нужны две разные страницы! Это вообще возможно? Я уже мозг себе сломал и интернет, а ответа все нет. Помогите пожалуйста.
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #55 : 11.06.2012, 03:57:10 »

Интересно следующее:
Страницу вынесли в FAQ
Можно спросить того кто вынес ее? Какое тут решение? Тут их несколько и не понятно какое кривое, а какое рабочее.
Для 1.5 да есть, но топик для 1.6/1.7/2.5

каждое из них нормальное!
мне подошло от Rival
Записан
Abel
Новичок
*

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 9



« Ответ #56 : 27.06.2012, 21:16:16 »

По воле случая пришлось менять урлы.
тема не нова, но мож кому пригодится.

Здесь:
www/ваш сайт/templates/system/

1. скопировал себе на комп файл - error.php
2. В нём удалил всё что находится между <head>...</head>

пример кода:
<head>
<title><?php echo $this->error->getCode(); ?> - <?php echo $this->title; ?></title>
<link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/system/css/error.css" />
<?php if ($this->direction == 'rtl') : ?>
<link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/system/css/error_rtl.css" />
<?php endif; ?>
</head>

3. На сайте создал материал (без категории). Назвал - Ошибка 404.

В нём прописал: (текст естественно на ваше усмотрение)

Вас случайно занесло на страницу которой не существует.
Это могло произойти по разным причинам, например ссылка устарела.
Через некоторое время новые ссылки будут проиндексированы и всё вернётся на свои места.
Предлагаем пройти на главную страницу сайта, там вы сможете просмотреть интересующий вас материал в полном объёме.

перейти  >> (это сделал ссылкой на главную)

4. В самом редакторе (где создавал материал) отключил редактор (кнопкой отключить редактор)
5. В окне редактора скопировал весь код с текстом
6. в файле - error.php
 
удалил этот кусок кода:

<div id="errorboxbody">
         <p><strong><?php echo JText::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></strong></p>
            <ol>
               <li><?php echo JText::_('JERROR_LAYOUT_AN_OUT_OF_DATE_BOOKMARK_FAVOURITE'); ?></li>
               <li><?php echo JText::_('JERROR_LAYOUT_SEARCH_ENGINE_OUT_OF_DATE_LISTING'); ?></li>
               <li><?php echo JText::_('JERROR_LAYOUT_MIS_TYPED_ADDRESS'); ?></li>
               <li><?php echo JText::_('JERROR_LAYOUT_YOU_HAVE_NO_ACCESS_TO_THIS_PAGE'); ?></li>
               <li><?php echo JText::_('JERROR_LAYOUT_REQUESTED_RESOURCE_WAS_NOT_FOUND'); ?></li>
               <li><?php echo JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST'); ?></li>
            </ol>
         <p><strong><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></strong></p>

            <ul>
               <li><a href="<?php echo $this->baseurl; ?>/index.php" title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a></li>
            </ul>

         <p><?php echo JText::_('JERROR_LAYOUT_PLEASE_CONTACT_THE_SYSTEM_ADMINISTRATOR'); ?>.</p>
         <div id="techinfo">
         <p><?php echo $this->error->getMessage(); ?></p>
         <p>
            <?php if ($this->debug) :
               echo $this->renderBacktrace();
            endif; ?>
         </p>
         </div>

и вместо него, вставил то, что скопировал в окне редактора:

<p style="text-align: center;">Вас случайно занесло на страницу которой не существует.</p>
<p style="text-align: center;">Это могло произойти по разным причинам, например ссылка устарела. </p>
<p style="text-align: center;">Через некоторое время новые ссылки будут проиндексированы и всё вернётся на свои места. </p>
<p style="text-align: center;">Предлагаем пройти на главную страницу сайта, там вы сможете просмотреть интересующий вас материал в полном объёме.</p>
<p style="text-align: center;"><a href="http://www.вашсайт/">перейти  &gt;&gt;</a></p>
<p style="text-align: center;"> </p>

(конечный вариант)

<body>
   <div class="error">
      <div id="outline">
      <div id="errorboxoutline">
         <div id="errorboxheader"><?php echo $this->error->getCode(); ?> - <?php echo $this->error->getMessage(); ?></div>

<p style="text-align: center;">Вас случайно занесло на страницу которой не существует.</p>
<p style="text-align: center;">Это могло произойти по разным причинам, например ссылка устарела. </p>
<p style="text-align: center;">Через некоторое время новые ссылки будут проиндексированы и всё вернётся на свои места. </p>
<p style="text-align: center;">Предлагаем пройти на главную страницу сайта, там вы сможете просмотреть интересующий вас материал в полном объёме.</p>
<p style="text-align: center;"><a href="http://www.вашсайт/">перейти  &gt;&gt;</a></p>
<p style="text-align: center;"> </p>

         </div>
      </div>
      </div>
   </div>
</body>
</html>

7. Сохранил всё это в utf-8
8. через ftp закинул в папку шаблона

сюда:
www/ваш сайт/templates/ваш шаблон/

Теперь те, кто приходит по старой ссылке, попадает на страницу 404 с моим текстом.
Записан
Jolala
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #57 : 13.07.2012, 11:56:22 »

Господа, я так и не понял как сделать редирект с 404 на главную страницу
в какой файл и что вставить - помогите Sad
на 1.5 у меня все получилось, делаю сайт на 2.5 - не могу этого сделать Sad
Я поступила так:  в еррор.пхп подправила на, теперь переходит а главную не выдавая никаких сообщений, мне так больше нравитсо.
<!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; ?>">
<head>
</head>
<body>
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php');
exit;
}
?>
</body>
</html>
Записан
Marques
Живу я здесь
******

Репутация: +190/-9
Offline Offline

Пол: Мужской
Сообщений: 1452


Ctrl+F5


« Ответ #58 : 18.07.2012, 19:39:55 »

Хороший способ с хабра.

Меняем код стрницы error.php которая находится в /templates/system/error.php
на :
Код
<?php 
 
defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=ID');
 
?>
 

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

Еще несколько способов по ссылке http://habrahabr.ru/post/148008/
Записан
Fedor Vlasenko
Профи
********

Репутация: +703/-5
Offline Offline

Пол: Мужской
Сообщений: 3832


Все начинается с Value


« Ответ #59 : 18.07.2012, 20:13:42 »

Хороший способ с хабра.
Странно, здесь решение раньше опубликовано было.
Файл error.php не только за 404 ошибку отвечает (но и вывод других). Так получается ничего хорошего в способе нет.
Приведенным способом мы урезаем встроенные разработчиками функции мониторинга ошибок.
Записан
RamzesIV
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #60 : 20.07.2012, 21:19:11 »

Для Joomla 1.5 есть такое решение для создания собственной страницы 404:

    1. Создать материал, не указывая раздел и категорию.
    2. Создать ссылку через меню. После создание ссылки там же в ней посмотреть адрес статьи, например index.php?option=com_content&view=article&id=54
    3. В файле error.php, который находится в папке templates/system стереть всё содержимое и вместо этого написать:

        <?php
        defined('JPATH_BASE') or die();
        echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=54');
?>

А как это сделать на Joomla 1.7?
Для Joomla 1.5 есть такое решение для создания собственной страницы 404:

    1. Создать материал, не указывая раздел и категорию.
    2. Создать ссылку через меню. После создание ссылки там же в ней посмотреть адрес статьи, например index.php?option=com_content&view=article&id=54
    3. В файле error.php, который находится в папке templates/system стереть всё содержимое и вместо этого написать:

        <?php
        defined('JPATH_BASE') or die();
        echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=54');
?>

А как это сделать на Joomla 1.7?
Странно, здесь решение раньше опубликовано было.
Файл error.php не только за 404 ошибку отвечает (но и вывод других). Так получается ничего хорошего в способе нет.
Приведенным способом мы урезаем встроенные разработчиками функции мониторинга ошибок.
Ничего не урезаем, нет там функций, там только отображение страницы (ну, эта наша любимая красная...), то есть попросту ВИД.
Записан
Страниц: 1 [2] 3 4 5 6   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet