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

Fleez

  • Новичок
  • 3
  • 0
был у меня обычный HTML файл на случай 404 ошибки, направлял на него сам хостер.
добавил в Joomla компонент sh404SEF, а у него своя 404 ошибка в виде обычного джумловского материала.
настроил работу компонента в mod rewrite
добавил в .htaccess строчку
Код
ErrorDocument 404 /error404.html
Но не работает моя 404 страница и как править не отключая 404sef - не ведаю.
Что примечательно, отгуглить похожую проблему не удалось.


*

Fleez

  • Новичок
  • 3
  • 0
нашел похожую тему на этом же форуме, там был придуман костыль, но решение странное и тема по-прежнему актуальна.
Цель
Если страница не найдена - перенаправить на страницу с ошибкой вне Joomla.

Может какой-нить двойной редирект?
« Последнее редактирование: 23.01.2013, 16:55:19 от Fleez »
*

Sliapy

  • Давно я тут
  • 323
  • 44
Компоненты - sh404SEF - Конфигурация - Страница ошибок - поле Дочерний шаблон для показа. Посмотрите подсказку этого поля, там есть указания по созданию собственной страницы ошибок.
*

Fleez

  • Новичок
  • 3
  • 0
Sliapy, спасибо, все заработало.
нужно было переименовать расширение в php и прописать саб-шаблоном название без расширения.
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Мои извинения - из тьмы глубокого прошлого вопрос:Joomla 1.0.12, sh404SEF  1.3.9 - build_357 (вот такой я мастодонт...) Проблема та же, но озвученными методами не решается.
За древностью версий есть лишь то, что на первом скрине...

При вводе неправильного адреса спокойно открывается сайт, только вместо предполагаемой страницы на нем текстом дублируется введенный несуществующий адрес. Если пользователь авторизован - есть возможность по значку редактора текста открыть окно редактирования. Если закрыть окно крестом - попадаю на собственную 404 страницу (которая корректно прописана в .htaccess и лежит в корне сайта). Если не авторизован - главное меню корректно работает.
Собственно, последнее как бы минимизирует проблему, но неаккуратненько как-то... >:(

Был бы признателен за совет...
*

robert

  • Профи
  • 4081
  • 376
:) Вы сами написали этот текст, и теперь удивляетесь, почему его видите? Было бы странно, если бы что-нибудь другое выводилось.
В первом скрине вместо "https://carpc-project.ru/404.html" напишите "Упс, очень жаль, но такой страницы не существует!".
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

capricorn

  • Практически профи
  • 1687
  • 105
« Последнее редактирование: 28.04.2017, 20:36:52 от capricorn »
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
2 robert

Ну, написал я его от безысходности, ибо 404 страница по определению должна отличаться от дизайна сайта. Есть у меня нормальная (отличная от стандартной страничка на этот случай, отвечающая всем канонам).
То, что вы предлагаете - это надпись на заборе, увы... Более того, возможна ситуация, когда авторизованный пользователь (но не админ) смогет чего-то наваять на этой странице, и не закрыть ее, а сохранить. Не проверял сам, но...

Понимаю Вашу иронию, но не понимаю логики разработчиков проги - ведь в окне первого скрина логично было бы предложить ввести адрес страницы, на которую должен быть перенаправлен пользователь. На фейхуа там текстовый редактор?! Чтобы писать подобное предложенного Вами? Дичь какая-то...

Должна открываться 404 страница. А вот как это сделать в имеющейся связке Joomla и sh - это и есть вопрос...
« Последнее редактирование: 26.04.2017, 00:40:12 от Pinin »
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
2 capricorn

Сорри, пропустил Ваш пост. Что Вы  имеете в виду под "Вы сами прописали свою 404."? Свою я собственоручно сделал и прописал в .htaccess, но вот она-то и не открывается. Открывается новая (пустая) страница сайта, на которой отображается адрес (ну ладно - текст), введенный в настройках sh...
*

capricorn

  • Практически профи
  • 1687
  • 105
« Последнее редактирование: 28.04.2017, 20:37:18 от capricorn »
*

capricorn

  • Практически профи
  • 1687
  • 105
« Последнее редактирование: 28.04.2017, 20:36:30 от capricorn »
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Текстовое? Залетевшему пользователю?
Тогда уж логично предложение robertа - написать на этом заборе "Звиняй, брателла - бананов нема!", а дальше он сам пойдет куда захочет - навигация-то по сайту доступна в полном объеме...

Только вот как-то это в разрез идет с канонами во-первых, а во-вторых (неочевидных) - количество страниц сайта может разрастись до бесконечности: ошибочный адрес-то при этом валидный для всех, в том числе и для поисковиков, со всеми вытекающими...
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
В настройках моей версии есть только то, что на первом скрине... Могу, конечно,  еще поковыряться, но вряд ли я это пропустил...
Увы, вынужден прерваться - утром дорога дальняя предстоит...
*

capricorn

  • Практически профи
  • 1687
  • 105
« Последнее редактирование: 28.04.2017, 20:36:11 от capricorn »
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Ну почему методом гадания? - в configuration.php  параметр $mosConfig_live_site прописан. Или возможны варианты прописывания (у меня пока - `https://sitename.ru`)?
Если /404.html имелось в виду прописать в окне настроек sh, то это дело кардинально не меняет - просто меняется надпись на заборе...
*

capricorn

  • Практически профи
  • 1687
  • 105
Если у вас в главном index.php есть код

Код: php
if ($path = $mainframe->getPath( 'front' )) {
$task = strval( mosGetParam( $_REQUEST, 'task', '' ) );
$ret = mosMenuCheck( $Itemid, $option, $task, $gid );

if ($ret) {
require_once( $path );
} else {
mosNotAuth();
}
} else {
header( 'HTTP/1.0 404 Not Found' );
echo _NOT_EXIST;
}

попробуйте заменить на

Код: php
if ($path = $mainframe->getPath( 'front' )) {
$task = strval( mosGetParam( $_REQUEST, 'task', '' ) );
$ret = mosMenuCheck( $Itemid, $option, $task, $gid );

if ($ret) {
require_once( $path );
} else {
mosNotAuth();
}
} else {
header( 'HTTP/1.0 404 Not Found' );
include('404.php');
exit();
}

в .htaccess напишите ErrorDocument 404 /404.php

в корень положите файл 404.php, в котором сделайте вывод своей страницы 404.
« Последнее редактирование: 29.04.2017, 00:21:07 от capricorn »
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Благодарю за ответ. Ламерский вопрос: у меня страница ошибки сделана как HTML. Без исправления ее в 404.php предложенный алгоритм раскарячивает работу всего сайта. Собственно, предсказуемо.
С наскока не получилось, буду копать, когда появится свободное время...
*

capricorn

  • Практически профи
  • 1687
  • 105
поместите в 404.php произвольный код - чтобы пока проверить будет ли перекидывать на него при несуществующих URL с различными ошибками.

Код
<?php
echo ('ТЕСТ');
?>

проверьте при вкл/выкл sh404SEF, при этом очистите поле на первом скрине (оно вообще-то для ввода текста, а не ссылки, даже судя по его размеру) и вкл/выкл SEF Joomla.

непонятно, зачем вам понадобилась страница не в стиле сайта. обычно нужно наоборот - и именно это дает sh404SEF, главное чтобы был 404 код ошибки при несуществующем URL.
*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Сделал 404.php. Результат тот же - второй скрин...
Окошко на первом скрине очистил и выключил SEF Joomla. Теперь при любой ерунде, набранной после site,ru/ открывается первая страница...
При отключенном  sh404SEF страница 404 появляется (стандартаная, не кастомизированная), но открывается только главная страница сайта (что, в общем-то логично - прежние ссылки отключены).

По странице ошибок уточню из-за чего сыр/бор.
Сделанная мной 404 страница в стиле сайта. Но стиль здесь второстенен. Важно дать понять пользователю, что ссылка введенная в данный момент в адресной строке неправильная, что он забрел куда-то не туда, что здесь функционал сайта недоступен. А ежели он оказывается практически на главной (с меню, авторизацией, счетчиками, картами, etc) - это сбивает с толку, имхо...

Резюме - нету пока 404 кода при несуществующем URL и включеном  sh404SEF.

Ерунда какая-то: забил на время на 404, начал возиться с другими траблами, а вернувшись обнаружил второй скрин этого поста. Текст откуда-то появился в настройках 404 страницы sh404SEF... Ну ладно, формально работает.

Благодарю за участие и терпение.
« Последнее редактирование: 30.04.2017, 20:52:15 от Pinin »
*

capricorn

  • Практически профи
  • 1687
  • 105
Цитировать
Теперь при любой ерунде, набранной после site,ru/ открывается первая страница

https://carpc-project.ru/About-us.html123

ваша 404-я страница.



*

Pinin

  • Осваиваюсь на форуме
  • 62
  • 3
Занятно. А если https://carpc-project.ru/123456

то sh404SEF`ская... Вот и пойми их...   Что слешь-то животворящий делает... ::)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

sh404SEF как отключить обработку компонента?

Автор Grog221

Ответов: 0
Просмотров: 223
Последний ответ 10.06.2017, 06:50:03
от Grog221
sh404SEF в место кода 404 отдает 200, как исправить?

Автор Anna01

Ответов: 0
Просмотров: 426
Последний ответ 04.03.2017, 19:06:11
от Anna01
JoomShopping вопросы: лицензирование + Javascript навигация + совместимость с sh404SEF + CSV импорт/

Автор capricorn

Ответов: 2
Просмотров: 444
Последний ответ 18.02.2017, 04:17:37
от capricorn
После обновления до sh404SEF 3.4.4.1226 сайт перекосило

Автор mstego

Ответов: 11
Просмотров: 3381
Последний ответ 01.02.2017, 19:14:02
от capricorn
Как заставить sh404SEF больше не создавать новые алиасы?

Автор Kindness

Ответов: 0
Просмотров: 698
Последний ответ 30.08.2016, 12:01:15
от Kindness