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

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

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

 (Прочитано 74457 раз)
0 Пользователей и 1 Гость смотрят эту тему.
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 » Записан
 
samuray7
Осваиваюсь на форуме
***

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

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


Хыка


« Ответ #121 : 07.10.2013, 15:30:58 »

<?php
$requri=getenv("REQUEST_URI");
?>

Вот так и получите, чо забил пользователь в URI =)
Записан
Autocom
Давно я тут
****

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

Сообщений: 296


« Ответ #122 : 07.10.2013, 15:38:49 »

Ok. Работает. Спасибо.
Тогда уж до кучи может напишете и для остальных переменных:
$servername и $httpref
« Последнее редактирование: 07.10.2013, 15:42:40 от Autocom » Записан
samuray7
Осваиваюсь на форуме
***

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

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


Хыка


« Ответ #123 : 07.10.2013, 16:23:58 »

$servername=getenv("SERVER_NAME");
$httpref=getenv("HTTP_REFERER");
Записан
Autocom
Давно я тут
****

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

Сообщений: 296


« Ответ #124 : 09.10.2013, 11:02:48 »

Ок. Теперь полный комплект. Cheesy
Записан
Lounge
Осваиваюсь на форуме
***

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

Сообщений: 27



« Ответ #125 : 31.10.2013, 13:05:42 »

Для версии Joomla 3.x:

у кого этот код:
Код:
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: error404');
exit;
}
?>

вызвает такую ошибку:
Fatal error: Call to undefined method Exception::get()

необходимо заменить:
Код:
$this->error->get('code') == '404'
на
Код:
$this->_error->getCode() == '404'

остается только вопрос, эта часть
Код:
header('HTTP/1.0 404 Not Found');
не возвращает ошибку 404, а почему-то возвращает 302
Записан
Fedor Vlasenko
Профи
********

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

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


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


« Ответ #126 : 31.10.2013, 15:48:20 »

Код
if($this->error->getCode()==404){
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, JURI::base().'/index.php?option=com_content&view=article&id=20'); // 20 - Ид твоей страницы
$data = curl_exec($ch);
curl_close($ch);
echo $data;
die();
}
Записан
Lounge
Осваиваюсь на форуме
***

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

Сообщений: 27



« Ответ #127 : 01.11.2013, 11:47:28 »

О! Супер, огромное спасибо! Теперь все работает как надо.
Записан
notarget
Осваиваюсь на форуме
***

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

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



« Ответ #128 : 03.12.2013, 23:59:02 »

Это все, конечно, замечательно...
Но: после обновления Joomla файл error.php будет перезаписан, и все перенаправления автоматом отрубятся.
Записан
mark1
Давно я тут
****

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

Сообщений: 393



« Ответ #129 : 05.12.2013, 17:34:13 »

Это все, конечно, замечательно...
Но: после обновления Joomla файл error.php будет перезаписан, и все перенаправления автоматом отрубятся.
положите файл в свой шаблон, и ничего потом не отвалится.
Записан
Doc
Завсегдатай
*****

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

Сообщений: 448


« Ответ #130 : 19.12.2013, 00:37:18 »

А кто мешает сделать 404 на основе того же error.php? Копируете в свой шаблон и все отлично. И любой дизайн и что угодно.
Блин, сделал и в этой теме хвалился, как все классно....сперва сделал на 1.5 версии, потом перешел на 2.5 и там же так сделал, а потом откатил с 2.5 на 1.5 и опять сделал как надо...а вчера, 18 числа, получил от яндекса письмо
http://radikall.com/images/2013/12/19/klVwe.png
И долго искал вредоносный код и не мог понять, почему Яндекс прислал ссылку, которая давно мертвая, как бы выдавала 404 страницу.....проверял всеми способами, что нашел в интернете, и нету вредоносного кода на сайте и все тут....пока не проверил 404 сраницу и тут на те вам
Цитировать
На сайте обнаружены iframe-вставки, ссылающиеся на сомнительные сайты либо обфусицированный код.
Не знаю, то ли туда, что то внедрили, то ли сам мудвин и что-то там не так сделал, но теперь нужно разбираться с этим

А для остальных, думайте и смотрите, что бы не получилось, что Яндекс вас выкинет с позором, верней повесит позорное клеймо на сайт и посещаемость упадет в ноль, зато 404 страница вам будет очень нравиться Azn
Записан
kotoffskiy
Захожу иногда
**

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

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



« Ответ #131 : 29.12.2013, 07:02:39 »

Народ всем привет, думаю что пишу в правильном месте, если что поправьте. И так, я сделал страницу 404 по способу указанному на этом ресурсе http://businessumcha.com/blog/optimizaciya-sayte/152-stranitsa-oshibok-dlya-joomla-2-5.html#, но при переходе на несуществующую страницу появляется ошибка "Warning: file_get_contents(http://big-internet.ru//index.php?option=com_content&view=article&id=91) [function.file-get-contents]: failed to open stream: HTTP request failed! in /home/k10717/public_html/big-internet.ru/templates/ot_sexyqueen/error.php on line 131". 131 линия в коде это "echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=**');" где ** это ID материала страницы 404. Адрес сайта http://big-internet.ru/ Помогите решить проблему
Записан
3dem
Захожу иногда
**

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

Сообщений: 12


« Ответ #132 : 07.02.2014, 23:21:44 »

Блин, сделал и в этой теме хвалился, как все классно....сперва сделал на 1.5 версии, потом перешел на 2.5 и там же так сделал, а потом откатил с 2.5 на 1.5 и опять сделал как надо...а вчера, 18 числа, получил от яндекса письмо
http://radikall.com/images/2013/12/19/klVwe.png
И долго искал вредоносный код и не мог понять, почему Яндекс прислал ссылку, которая давно мертвая, как бы выдавала 404 страницу.....проверял всеми способами, что нашел в интернете, и нету вредоносного кода на сайте и все тут....пока не проверил 404 сраницу и тут на те вам Не знаю, то ли туда, что то внедрили, то ли сам мудвин и что-то там не так сделал, но теперь нужно разбираться с этим

А для остальных, думайте и смотрите, что бы не получилось, что Яндекс вас выкинет с позором, верней повесит позорное клеймо на сайт и посещаемость упадет в ноль, зато 404 страница вам будет очень нравиться Azn
Не совсем понятно, в error.php появились iframe вставки после редактирования этого файла? Скорее всего или совпадение, что злоумышленник выбрал этот же файл для внедрения или с правами что-то намудрил, доступ открыл... а вообще стандартную 404 просто необходимо менять, не знаю что курили разработчики, когда верстали эту страницу, но факт, что она отпугивает, даже меня, многолетнего джумловода))). В общих чертах просмотрел тему. Ставить компонент для этого - жесть. Способ с реддериктом, как и способ встроить в дизайн нужно отмести сразу многостраничным сайтам, когда то еще в 1,5 пробовал подобное, но увидев количество просмотров страницы с ошибкой 404 пришел в ужас - в десятки тысяч раз превышала просмотры самой посещаемой страницы на сайте. В 2,5 можно посмотреть в компоненте Перенаправление количество левых переходов на сайт и все станет понятно... Однако, дабы удержать пользователя страница 404 должна быть привлекательной, способной хотя бы на 5 секунд задержать взгляд заблудшего посетителя. На themeforest много заготовок, на html5 можно что-то соорудить или на флеше - многие видели флешку с гастарбайтерами, подобная 404 по любому заинтересует пользователя ). Заготовку, как советовал NightGuard лучше всего вставить в error.php... для корректного ответа об ошибке достаточно оставить тайтл:
Код:
<?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage()); ?>
. Вот так сделал я: http://serafimovich.org/xxx по моему очень мммммм... мило)))
Записан
FiNsvoy
Осваиваюсь на форуме
***

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

Сообщений: 79


За хороший совет могу заплатить.


« Ответ #133 : 01.05.2014, 22:21:33 »

Заготовку, как советовал NightGuard лучше всего вставить в error.php... для корректного ответа об ошибке достаточно оставить тайтл:
Код:
<?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage()); ?>
. Вот так сделал я: http://serafimovich.org/xxx по моему очень мммммм... мило)))

Вот уже полдня пытаюсь создать собственную страницу 404? чтобы она серверу выдавала 404. Все решения позволяют сделать только страницу, а на сервер уходит 200 или 302, что совсем не хорошо.
И вот у Вас увидел http://serafimovich.org/xxx - то что искал - код сервера 404! Как Вы это сделали?

Оставить тайтл <?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage()); ?> - где, в каком файле? В error.php? Покажите весь файл пожалуйста, Вам очень многие будут благодарны!
Записан
mark1
Давно я тут
****

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

Сообщений: 393



« Ответ #134 : 04.05.2014, 12:15:30 »

Как Вы это сделали?...где, в каком файле? В error.php? Покажите весь файл пожалуйста, Вам очень многие будут благодарны!

Сами себе его покажите) По умолчанию используется файл  /templates/system/error.php. Скопируйте его в корень своего шаблона - и вуаля, у вас теперь свой файл 404 страницы. И курочите его дальше, как вам вздумается! Тут же сверху видно, какие стили в файле подключаются. Поменяйте и их, и путь к ним. А то по robots.txt и по странице 404 сразу становится понятно, что у вас стоит Joomla. А это лучше скрывать (как и мета генератор, и многие другие штуки), меньше ботов/хакеров набегать будет.
Записан
FiNsvoy
Осваиваюсь на форуме
***

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

Сообщений: 79


За хороший совет могу заплатить.


« Ответ #135 : 10.05.2014, 17:27:25 »

Сами себе его покажите) По умолчанию используется файл  /templates/system/error.php...

Как свою страницу 404 сделать здесь очень подробно уже написали. Но как сделать чтобы эта страница выдавала серверу ошибку 404?

В предыдущем моем сообщении я привел этот код, но куда его добавить, в какой файл, вот в чем вопрос!

--- После нескольких некоторых опытов - этот код вставляем в исправленный файл error.php между тэгами <head> </head>
« Последнее редактирование: 10.05.2014, 17:38:27 от FiNsvoy » Записан
samuray7
Осваиваюсь на форуме
***

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

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


Хыка


« Ответ #136 : 10.05.2014, 17:55:42 »

А в другое место этот код и не влезет же  Smiley
Записан
gulliver002
Новичок
*

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

Сообщений: 1


« Ответ #137 : 26.05.2014, 17:02:40 »

В админке Joomla 2.5 выбираю Менеджер материалов и выбивает - 404 - Обнаружена ошибка. Ребята, подскажите, как это исправить? Не могу редактировать шапку.
Записан
mark1
Давно я тут
****

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

Сообщений: 393



« Ответ #138 : 27.05.2014, 02:16:36 »

В админке Joomla 2.5 выбираю Менеджер материалов и выбивает - 404 - Обнаружена ошибка. Ребята, подскажите, как это исправить? Не могу редактировать шапку.
Поздравляю! Вот вы и создали свою собственную персональную страницу 404 для Joomla 2.5  Azn  Вы название темы читали?
Если серьезно: причин может быть миллион.
1) нужно больше подробностей, помогут включение режима дебага в Joomla, максимального error_reporting в PHP, чтение логов сервера, и обучение себя азам FireBug.
2) Соберите эту инфу, и перезадайте вопрос, но в более подходящей ветке.
Записан
fsvcd
Новичок
*

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

Сообщений: 1


« Ответ #139 : 17.06.2014, 12:04:25 »

Здравствуйте.
Я просто скопировал главную страницу в файл error.php, получилось сообщение об ошибке не нарушая общий вид сайта.
« Последнее редактирование: 15.06.2016, 09:52:29 от fsvcd » Записан
Shademy
Осваиваюсь на форуме
***

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

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


Я тут не случайно+


« Ответ #140 : 22.01.2015, 22:18:52 »

а как просмотреть данную страницу?
Записан
stankura
Новичок
*

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

Сообщений: 1


« Ответ #141 : 24.02.2015, 11:47:14 »

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

Пример работы: www.sutki-dom.ru/arenda.html
vrati пощенки кутии
« Последнее редактирование: 27.02.2015, 18:16:36 от stankura » Записан
Vasiliy111
Давно я тут
****

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

Сообщений: 206


« Ответ #142 : 09.03.2015, 14:54:42 »

Здравствуйте! добавил в файл eror.php код
Показать текстовый блок
создал материал с ошибкой и невидимый пункт меню.
Страница 404 работает нормально но в URL не отображается алиас 404 страницы, т.е. в адресной строке показывает: мой-сайт/категория/index.php?option=com_content&view=article&id=56. Хотелось бы чтобы URL был: мой-сайт/404, подскажите как можно исправить. Алиас для 404 страницы прописан.
« Последнее редактирование: 09.03.2015, 16:41:09 от Vasiliy111 » Записан
Abiladenda
Осваиваюсь на форуме
***

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

Сообщений: 187



« Ответ #143 : 09.03.2015, 19:15:37 »

Не могу понять, а стандартная страница 404 от вашего шаблона например Yootheme чем не нравиться, ведь шаблоны имеют свою страницу 404 с их дизайном и ответ сервера тоже 404 или я что-то не понимаю?
Записан
uicl
Захожу иногда
**

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

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



« Ответ #144 : 16.07.2015, 15:54:48 »

Прочитал всю тему, но не нашел решения своей проблемы.
Я сделал собственную страницу 404, указал ее в error.php
Но в Google Webmaster Tools есть такая ошибка
Показать текстовый блок
Подскажите, пожалуйста, в чем проблема?
Может что-то не так в коде?
Показать текстовый блок
Записан
Vasiliy111
Давно я тут
****

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

Сообщений: 206


« Ответ #145 : 06.08.2015, 17:20:36 »

Цитировать
$requri=getenv("REQUEST_URI");

Вот так и получите, чо забил пользователь в URI =)

Добавил в код эту строку, но в отчете нет URl-а который вбил пользователь
Записан
Kadimp
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #146 : 23.09.2015, 15:52:33 »

Помогите, перепробовал всё, но страница http://teplichka.by/404 не отдаёт ответ сервера 404
Записан
Stasweb
Живу я здесь
******

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

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



« Ответ #147 : 23.09.2015, 15:58:54 »

я создал материал с ошибкой прописал в
htaccess
ErrorDocument 404 http://lik-astana.kz/manage-forms/error.html
ErrorDocument 500 http://lik-astana.kz/manage-forms/error-500.html
ну и в error.php
Код:
if($this->error->getCode()==404){
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, JURI::base().'/index.php?option=com_content&view=article&id=103');
$data = curl_exec($ch);
curl_close($ch);
echo $data;
die();
}
все работает

Записан
Kadimp
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #148 : 24.09.2015, 09:24:23 »

нет, не момогает
Записан
Stasweb
Живу я здесь
******

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

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



« Ответ #149 : 24.09.2015, 10:25:37 »

По запросу http://teplichka.by/404 отдает 404
Попробуйте почистить кеш и в браузере ctrl+shift+delete


* 1.jpg (78.46 Кб, 1138x586 - просмотрено 137 раз.)
Записан
Kadimp
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #150 : 28.09.2015, 13:56:26 »

Причём здесь кеш, мне нужно, что бы ответ сервера был 404, а он отдаёт 200
Записан
Страниц: 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