0 Пользователей и 1 Гость просматривают эту тему.
  • 46 Ответов
  • 8414 Просмотров
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Своя страница 404
« : 11.07.2012, 16:55:50 »
Уже сколько решений не перепробовала - ничего не получается...
Что делала - по порядку:
1. В менеджере материалов создала страницу с алиасом 404 с названием "Страница не найдена"
2. Создала отдельное меню Error-menu с пунктом типа "Материал" с алиасом "error" (все без кавычек), где выбрала нужный материал
3. Скопировала файл error.php из папки templates/system в папку templates/шаблон
Вот код файла:
Спойлер
[свернуть]
4. Создала неопубликованный модуль этого меню
5. В файле templates/шаблон/templateDetails.xml вписала перечисление файла error.php. в разделе <files><filename>error.php</filename></files>
6. В содержимом файла error.php между тегами <body></body> прописала:
Спойлер
[свернуть]
То есть сделала все, как написано здесь http://joomlaforum.ru/index.php/topic,178280.0.html
7. Результат смотрю по странице /o-kompanii/ Набираю несуществующие url-ы:
/o-ko123mpanii/
Код
Notice: Undefined index: id in .../components/com_content/router.php on line 278

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in .../templates/atomic/error.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in /.../templates/atomic/error.php on line 24
/o-kompanii/123/
Код
На этой странице обнаружена циклическая переадресация
Загрузка веб-страницы по адресу http://сайт.ру/o-kompanii/123/error/error/error/error/error/error/error/error/error/error/ вызвала слишком много переадресаций. Попробуйте очистить для этого сервера файлы cookie или разрешить их прием от независимых сайтов. Если это не поможет, возможно, проблема связана не с вашим компьютером, а с конфигурацией сервера.
8. Удаляю файл error.php из папки templates/шаблон и снова копирую файл error.php из папки templates/system в папку templates/шаблон
9. Снова результат смотрю по странице /o-kompanii/ Набираю несуществующие url-ы:
/o-ko123mpanii/
Код
Notice: Undefined index: id in .../components/com_content/router.php on line 278

/o-kompanii/123/

(уже на Русском и без ошибки линии 278 и на русском)

Где я допустила ошибку и как создать свою страницу 404?
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #1 : 11.07.2012, 17:03:23 »
Да и запись в .htaccess

ErrorDocument 404 error тоже не помогла :(
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #2 : 11.07.2012, 17:07:44 »
У тебя шаблон нормальный или на фреймворке?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #3 : 11.07.2012, 17:11:51 »
У тебя шаблон нормальный или на фреймворке?
да atomic самый простецкий
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #4 : 11.07.2012, 17:13:02 »
А можеш откатить все предыдущие попытки, чтоб работал как раньше?
Вот. Разберёшся?
http://joomlaforum.ru/index.php/topic,210051.0.html
Создание сайтов, шаблонов, помощь в решении проблем.
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #5 : 11.07.2012, 17:15:32 »
А можеш откатить все предыдущие попытки, чтоб работал как раньше?
Вот. Разберёшся?
http://joomlaforum.ru/index.php/topic,210051.0.html
это тоже пробовала... Кису я не поняла, а то, что предлагал SmokerMan не получилось :( тож ошибка вылетала
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #6 : 11.07.2012, 17:16:34 »
Кинь под спойлер полный код index.php
Создание сайтов, шаблонов, помощь в решении проблем.
*

fbr

  • Живу я здесь
  • 1284
  • 142
Re: Своя страница 404
« Ответ #7 : 11.07.2012, 17:23:57 »
Я у себя сделал проще

Перетащил скопировал в шаблон error.php и отредактировал так:

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

где sitemap - алиас пункта меню

т.е по 404 происходит переадресация на карту сайта, где есть текст
"Указанного адреса не существует. Воспользуйтесь картой сайта"
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #8 : 11.07.2012, 17:27:11 »
Цитировать
header("HTTP/1.0 404 Not Found");
    header('Location: /sitemap')
А проверял ответ сервера? Помоему при редиректе отдаётся код редиректа какой-нибуть, а не 404.
Создание сайтов, шаблонов, помощь в решении проблем.
*

ELLE

  • Support Team
  • 4605
  • 869
Re: Своя страница 404
« Ответ #9 : 11.07.2012, 17:32:37 »
из последних тем про 404
error.php
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
echo file_get_contents(JURI::root().'/404');
}
?>
несуществующие страницы отдают 404
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #10 : 11.07.2012, 17:40:04 »
Я у себя сделал проще

Перетащил скопировал в шаблон error.php и отредактировал так:

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

где sitemap - алиас пункта меню

т.е по 404 происходит переадресация на карту сайта, где есть текст
"Указанного адреса не существует. Воспользуйтесь картой сайта"
Спасибо! Наполовину помогло, теперь так:
/o-kompanii/123/ редиректит на страницу /error/ то есть так, как надо!
/o-ko123mpanii/ выдает ошибку:
Код
Notice: Undefined index: id in .../components/com_content/router.php on line 278

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in .../templates/atomic/error.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in .../templates/atomic/error.php on line 24

Кинь под спойлер полный код index.php
Спойлер
[свернуть]
*

ELLE

  • Support Team
  • 4605
  • 869
Re: Своя страница 404
« Ответ #11 : 11.07.2012, 17:42:10 »
Цитировать
/o-kompanii/123/ редиректит на страницу /error/ то есть так, как надо!
а сама страница /o-kompanii/123/ что отдает, 404 или 301?
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #12 : 11.07.2012, 17:46:07 »
из последних тем про 404
error.php
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
echo file_get_contents(JURI::root().'/404');
}
?>
несуществующие страницы отдают 404
Прописала в error.php Ваш код между тегами <body>

/o-ko123mpanii/ выдает ту же ошибку:
Код:
Код
Notice: Undefined index: id in .../components/com_content/router.php on line 278

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in .../templates/atomic/error.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at .../components/com_content/router.php:278) in .../templates/atomic/error.php on line 24
/o-kompanii/123/ выдал ошибку:
Код
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in .../templates/atomic/error.php on line 27

Warning: file_get_contents(http://сайт.ру//404) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in .../templates/atomic/error.php on line 27
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #13 : 11.07.2012, 17:46:37 »
а сама страница /o-kompanii/123/ что отдает, 404 или 301?
а как это узнать? :)
*

ELLE

  • Support Team
  • 4605
  • 869
Re: Своя страница 404
« Ответ #14 : 11.07.2012, 17:47:59 »
Цитировать
Прописала в error.php Ваш код между тегами <body>
это не мой код)
это такой весь файл error.php, <body> там нет

Цитировать
а как это узнать?
http://webmaster.yandex.ru/server-response.xml
http://mainspy.ru/otvet_servera
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #15 : 11.07.2012, 17:54:32 »
А может это из-за того, что я меняла файл router.php?
Мне просто нужно было, чтоб в адресах страниц не было цифер и я вот нашла такое решение:
Спойлер
[свернуть]
Сделала все, как там написано, только в файле /components/com_content/router.php я не нашла строчки:
Код
if ($count === 1) {
вместо нее была строка
Код
if ($count == 1) {
ну соответственно я ее и заменила на
Код
if ($count == 1 && !$advanced) {
Может из-за этого у меня теперь не получается?
*

ELLE

  • Support Team
  • 4605
  • 869
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #17 : 11.07.2012, 18:04:40 »
это не мой код)
это такой весь файл error.php, <body> там нет
http://webmaster.yandex.ru/server-response.xml
http://mainspy.ru/otvet_servera
Спасибочки! А я и не знала :) код 200 был.
Теперь по совету Elle заменила весь код файла error.php на
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
echo file_get_contents(JURI::root().'/error');
}
?>
И вот какие ошибки получились:
/o-ko123mpanii/
Код
Notice: Undefined index: id in .../components/com_content/router.php on line 278

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in .../templates/atomic/error.php on line 7

Warning: file_get_contents(http://сайт.ру//error) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in .../templates/atomic/error.php on line 7

/o-kompanii/123/
Код
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in .../templates/atomic/error.php on line 7

Warning: file_get_contents(http://сайт//error) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in .../templates/atomic/error.php on line 7
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #18 : 11.07.2012, 18:10:13 »
Вот попробуй. Это полный код error.php
Спойлер
[свернуть]
Создание сайтов, шаблонов, помощь в решении проблем.
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #19 : 11.07.2012, 18:23:53 »
из последних тем про 404
error.php
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
echo file_get_contents(JURI::root().'/404');
}
?>
несуществующие страницы отдают 404
Прикольный способ. У меня заработал. Так проще всего получается.
Создание сайтов, шаблонов, помощь в решении проблем.
*

SmokerMan

  • Профи
  • 5334
  • 690
Re: Своя страница 404
« Ответ #20 : 11.07.2012, 18:28:31 »
Цитировать
<?php
  if ($this->_error->get('code') == '404') {
    header("HTTP/1.0 404 Not Found");
    header('Location: /index.php?Itemid=ID');
    exit;
 }
?>
вместо ID указать id нужного пункта меню.
Цитировать
И вот какие ошибки получились:
потому что данная опция не включена или не поддерживается на хостинге.
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #21 : 11.07.2012, 18:59:08 »
Цитировать
header("HTTP/1.0 404 Not Found");
    header('Location: /index.php?Itemid=ID');
При такой комбинации ответ сервера всё равно 302
Создание сайтов, шаблонов, помощь в решении проблем.
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #22 : 12.07.2012, 09:19:42 »
Вот попробуй. Это полный код error.php
Спойлер
[свернуть]
ооо, что-то начало получаться... но опять с ошибками :(
/o-ko123mpanii/
Notice: Undefined index: id in .../components/com_content/router.php on line 278 и не та кодировка...
/o-kompanii/123/
это походу получилось, но кодировка не та :(
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #23 : 12.07.2012, 09:28:04 »
Цитировать
это походу получилось, но кодировка не та
Ты не знаеш какая нужна кодировка? Или как сохранить в нужной?
Цитировать
Notice: Undefined index: id in .../components/com_content/router.php
Если всё нормально работает, то просто отключи показ ошибок в админке. А вообще этот хак (я про цифры в урле) во-первых нафиг не нужен, во-вторых может легко слететь при обновлении.
Создание сайтов, шаблонов, помощь в решении проблем.
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #24 : 12.07.2012, 11:55:38 »
Ты не знаеш какая нужна кодировка? Или как сохранить в нужной?
все сохраняю в UTF-8 но получается так:

Если всё нормально работает, то просто отключи показ ошибок в админке.
а где и как?
А вообще этот хак (я про цифры в урле) во-первых нафиг не нужен, во-вторых может легко слететь при обновлении.
эта же ошибка появляется при .../123/ что и с цифрами в урле
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #25 : 12.07.2012, 11:59:36 »
Если всё нормально работает, то просто отключи показ ошибок в админке.
отключила - помогло теперь при разных наборах кривая кодировка но больше ошибок нет)
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #26 : 12.07.2012, 12:03:15 »
только ответ сервера  200
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #27 : 12.07.2012, 12:14:11 »
Опа!.. получилось по совету SmokerMan - заменила весь код error.php на такой:
<?php
  if ($this->_error->get('code') == '404') {
    header("HTTP/1.0 404 Not Found");
    header('Location: /index.php?Itemid=ID');
    exit;
 }
?>
вместо ID указать id нужного пункта меню.
только код 200 отдает..
*

Efanych

  • Группа развития
  • 4317
  • 605
Re: Своя страница 404
« Ответ #28 : 12.07.2012, 13:19:18 »
Исправь так
Код
header("HTTP/1.1 301 Moved Permanently");
  header('Location: /index.php?Itemid=ID');
Скопируй файл components\com_content\views\article\tmpl\default.php
в папку шаблона html/com_content/article/
И уже в этом файле в шаблоне вноси правки. Пропиши в самом верху
Код: php
<?php 
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/404') {
header("HTTP/1.0 404 Not Found");
} ?>
/404 это поидее тот урл, где твоя страница ошибки. Или /index.php?Itemid=ID если у тебя такой урл
Создание сайтов, шаблонов, помощь в решении проблем.
*

Larisa

  • Давно я тут
  • 261
  • 14
  • je te promets...
Re: Своя страница 404
« Ответ #29 : 12.07.2012, 13:34:12 »
в папке шаблона HTML нет папки com_content
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор lolitma

Ответов: 166
Просмотров: 80510
Последний ответ 01.06.2017, 13:55:34
от Fedor Vlasenko
Страница для определенной страны

Автор ganizoda1992

Ответов: 0
Просмотров: 130
Последний ответ 06.02.2017, 07:14:47
от ganizoda1992
Страница Add/Edit shipment address не работает

Автор konetski

Ответов: 1
Просмотров: 325
Последний ответ 08.12.2016, 22:52:57
от konetski
Страница "error 404" для Joomla 2.5

Автор Elimelech

Ответов: 0
Просмотров: 287
Последний ответ 27.05.2016, 09:28:58
от Elimelech
Не отображается главная страница сайта

Автор Dem00n

Ответов: 7
Просмотров: 472
Последний ответ 14.04.2016, 11:48:15
от vipiusss