Ritsuka Опубликовано 25 Февраля 2010 Жалоба Поделиться Опубликовано 25 Февраля 2010 (изменено) Хук делает: - все главные страницы по списку (по-умолчанию это "/index.php", "/index", "/index.php?act=idx" и "/index.php?") переадресовывает (301) на заданный адрес (по-умолчанию - "/"),- на все остальные не существующие страницы ("/meow", "/any_text_you_want") отдает 404 с вашим текстом. Текст страницы 404 задается в настройках хука. Можно использовать HTML! Основная версия хука (1.0.4):ritsu_redirect.xml.tar.gz Изменения в 1.0.4:- обработка сессий для всех адресов- список "белых" страниц для переадресовки- настройка конечного адреса переадресовки- настройка текста страницы 404- два режима работы (с 404 и полная переадресовка)Изменения в 1.0.3:- сессии в urlИзменения в 1.0.2:- снова ошибка в работе с форумом в поддиректории, спасибо dengolИзменения в 1.0.1:- обработка "/index.php?act=idx",- корректная работа с форумом в поддиректории ("http://example.com/forum/"). Старые версии:ritsu_404.xml.tar.gzritsu_404_portal.xml.tar.gzritsu_redirect.xml.tar.gzritsu_404.xml.tar.gz Посмотреть в действии можно тут:_http://www.rakuen.ru/ _http://www.rakuen.ru/index.php _http://www.rakuen.ru/index _http://www.rakuen.ru/index.php? _http://www.rakuen.ru/hello Изменено 16 Марта 2010 пользователем Ritsuka Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kosiak Опубликовано 25 Февраля 2010 Жалоба Поделиться Опубликовано 25 Февраля 2010 (изменено) Спасибо! Ушёл тестить UPD Всё отлично работает. Огромное спасибо, Ritsuka! Изменено 25 Февраля 2010 пользователем Kosiak Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
rinich Опубликовано 25 Февраля 2010 Жалоба Поделиться Опубликовано 25 Февраля 2010 При включенной в серверном окружении опции обработки неверных урлов с 301 направлением наблюдаются глюки. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kosiak Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 У глюков есть имя? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
2rok Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 2rok вы заблуждаетесь и сравниваете кислое с быстрым. site.name/index и site.name/index.php? - это ошибка, а не нормальное положение вещей. site.name/forum/* - это вполне правильный путьЭта тема как раз о том, чтобы исправить ошибки.Конечно я заблуждаюсь Я прекрасно понимаю что это ошибка и как раз ищу метод её устранения Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kosiak Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 Метод от Ritsuka отлично работает, больше искать нечего Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
2rok Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 (изменено) Метод от Ritsuka у меня не работает. Теперь с портала я не могу зайти на форум, ибо идёт редирект, а главной страницей у меня задан портал Так же ссылки как были, так и остались.. /index.php?app=portal/index.php? Изменено 26 Февраля 2010 пользователем 2rok Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 26 Февраля 2010 Автор Жалоба Поделиться Опубликовано 26 Февраля 2010 2rok, правильно, на нестандартную главную страницу хук не рассчитан. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 (изменено) Ritsuka, спасибо, всё отлично работает! Единственное нужно сказать что если форум к примеру стоит не в корне ( / ) а в директории ( /dir/ ) то нужно в хуках путь изменить.А вобщем всё замечательно! Изменено 26 Февраля 2010 пользователем dengol Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
rinich Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 Ritsuka, спасибо, всё отлично работает! Единственное нужно сказать что если форум к примеру стоит не в корне ( / ) а в директории ( /dir/ ) то нужно в хуках путь изменить.А вобщем всё замечательно!Не подскажете как? Видимо у меня отсюда и рождаются глюки...) форум стоит на example.ru/forum/ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 26 Февраля 2010 Автор Жалоба Поделиться Опубликовано 26 Февраля 2010 rinich, черт, и правда, не подумал о таком варианте ^^ Быстрое решение без переустановки - в /hooks/ritsu_redirect_[0-9a-f].php найдите строку:header('Location: /');и замените на:header('Location: /forum/'); А вообще надо было {$INFO['board_url']."/"} использовать конечно... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
2rok Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 2rok, правильно, на нестандартную главную страницу хук не рассчитан.Я это уже понял!Мой вопрос остаёться открытым.Что бы первая страница (В моём случае портал) была просто косой "site.nema/", а форум был не "site.name/index", а "site.name/forum/". Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 (изменено) Для нормальной работы нужно не только здесь изменить header('Location: /');Редирект в таком случае не будет правильно обрабатываться! находим: if($_SERVER['REQUEST_URI'] != "/") { if($_SERVER['REQUEST_URI'] == "/index.php?" || $_SERVER['REQUEST_URI'] == "/index" || $_SERVER['REQUEST_URI'] == "/index.php") { ob_end_clean(); header('HTTP/1.1 301 Moved Permanently'); header('Location: /'); die(); меняем на: if($_SERVER['REQUEST_URI'] != "/forum/") { if($_SERVER['REQUEST_URI'] == "/forum/index.php?" || $_SERVER['REQUEST_URI'] == "/forum/index" || $_SERVER['REQUEST_URI'] == "/forum/index.php") { ob_end_clean(); header('HTTP/1.1 301 Moved Permanently'); header('Location: /forum/'); die(); Это если форум стоит в директории forum, если директория называется по другому, то необходимо изменить на свою. Для того чтобы портал был на главной вида типа name.ru/то нужно в initdata.php добавитьdefine( 'IPS_DEFAULT_PUBLIC_APP', 'portal' ); Update После установки мода 301 редиректа от Ritsuka при изменении статуса в боковой колонке выбрасывает на 404 страницу.Ссылка получается вот такого вида:http://www.site.name/forum/index.php?act=idx Ritsuka, подскажи, в данном случае такое решение будет правильным?if($_SERVER['REQUEST_URI'] == "/forum/index.php?" || $_SERVER['REQUEST_URI'] == "/forum/index" || $_SERVER['REQUEST_URI'] == "/forum/index.php" || $_SERVER['REQUEST_URI'] == "/forum/index.php?act=idx") Возможны ли еще какие-то варианты страниц с index.php? ?Ведь если еще будут попадаться аналогичные страницы то пользователя будет выбрасывать на 404, а очень не хотелось бы))) Изменено 26 Февраля 2010 пользователем dengol Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
rinich Опубликовано 26 Февраля 2010 Жалоба Поделиться Опубликовано 26 Февраля 2010 (изменено) будем ждать следующей версии хука )) Изменено 26 Февраля 2010 пользователем rinich Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 (изменено) dengol, правильным будет решение с прерпарсингом BOARD_URL на предмет субдиректорий и их автоподстановку. Сейчас поправлю Для портала вместо главной страницы разумнее всего сделать отдельный хук, где переопределить тем же методом его класс. C idx конечно отожгли ребята... 4-я ссылка на главную уже. Через пару часов выложу поправленный хук, как до рабочего ПК доберусь. Изменено 27 Февраля 2010 пользователем Ritsuka Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 Обновил первый пост, учтено все. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 не работать.... )))При входе на главную форума 404 страница Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 А что у вас в $INFO['board_url']? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 А что у вас в $INFO['board_url']?$INFO['board_url'] = 'http://www.hyundai-club.su/talk'; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 dengol, проверяю на локали - все работает Есть такой вариант - откройте на правку файл /hooks/ritsu_redirect_*.php и добавьте после строки: $path = (isset($matches['2'])) ? $matches['2']."/" : "/"; строки: if($this->memberData['member_id'] == '1' /* здесь вместо 1 поставьте свой id */){ ob_end_clean(); echo($path."\n"); echo(htmlspecialchars($_SERVER['REQUEST_URI'])."\n"); die(); } На главной форума только у вас вместо содержимого страницы появится кое-какая отладочная инфа, сможете её скопировать и разместить тут? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 Ritsuka, сделал вот результат: / /talk/ лишний слеш, я правильно понял? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
rinich Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 не работать.... )))При входе на главную форума 404 страница+1, автофорумы не хотят работать =( Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
KveSteR Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 Спасибо за мод, очень полезная вещь! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 лишний слеш, я правильно понял?Должно было быть:/talk/ /talk/ Вроде правильная регулярка, на моем форуме корректно срабатывает... Дадите временный ftp-доступ в папку /hooks/ для опытов? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Автор Жалоба Поделиться Опубликовано 27 Февраля 2010 Исправлена опечатка в коде. Актуально только для форумов в субдиректориях (aka "example.com/forum"). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.