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

Fleez

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


*

Fleez

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

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

Sliapy

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

Fleez

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

Pinin

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

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

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

robert

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.04.2017, 20:36:52 от capricorn »
*

Pinin

  • Захожу иногда
  • 59
  • 3 / 0
2 robert

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

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

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

Pinin

  • Захожу иногда
  • 59
  • 3 / 0
2 capricorn

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.04.2017, 20:37:18 от capricorn »
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.04.2017, 20:36:30 от capricorn »
*

Pinin

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

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

Pinin

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
« Последнее редактирование: 28.04.2017, 20:36:11 от capricorn »
*

Pinin

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Если у вас в главном 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

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
поместите в 404.php произвольный код - чтобы пока проверить будет ли перекидывать на него при несуществующих URL с различными ошибками.

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

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

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

Pinin

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

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

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

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

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

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
Теперь при любой ерунде, набранной после site,ru/ открывается первая страница

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

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



*

Pinin

  • Захожу иногда
  • 59
  • 3 / 0
Занятно. А если https://carpc-project.ru/123456

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

sh404SEF + OSMap Free

Автор xlenivecx

Ответов: 5
Просмотров: 950
Последний ответ 14.12.2019, 22:34:33
от draff
Теги на страницах навигации sh404SEF

Автор alexey711

Ответов: 2
Просмотров: 790
Последний ответ 25.06.2019, 15:02:55
от alexey711
Как выключить отображение кода модуля на странице 404 работающей через sh404SEF?

Автор Dim

Ответов: 1
Просмотров: 1058
Последний ответ 05.11.2018, 22:56:47
от Dim
Убрать слэши sh404SEF

Автор romagromov

Ответов: 1
Просмотров: 1186
Последний ответ 16.06.2018, 12:03:05
от romagromov
Управление 404 ссылками в sh404SEF

Автор Afman

Ответов: 0
Просмотров: 1126
Последний ответ 09.06.2018, 20:15:30
от Afman