[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: redirect 301 с ЧПУ на ЧПУ
fyger
Люди, кто знает как сделать редирект с ЧПУ ссылки на другою ЧПУ ссылку, что б не было "левых" параметров в строке от первого ЧПУ...

что есть сейчас в .htaccess

Options +FollowSymLinks
#включаем перенаправление
RewriteEngine on
#делаем нормальное доменное имя типа www.site.ru вместо site.ru
RewriteCond %{HTTP_HOST} ^site.com
RewriteRule (.*) http://www.site.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.com/ [R=301,L]

#перенаправление с 1,2 и 3 параметрами
RewriteRule ^([-,a-zA-Z,0-9]+)/$ index.php?name-game=$1 [QSA,L]
RewriteRule ^([-,a-zA-Z,0-9]+)/([-,a-zA-Z,0-9]+)/$ index.php?name-game=$1&guide=$2 [QSA,L]
RewriteRule ^([-,a-zA-Z,0-9]+)/([-,a-zA-Z,0-9]+)/([-,a-zA-Z,0-9]+)/$ index.php?name-game=$1&guide=$2&name-page=$3 [QSA,L]

redirect 301 /mlgame/ http://www.site.com/mylands/kalk-with-heroes/
redirect 301 /js/index.html http://www.site.com/mylands/kalk/
redirect 301 /js/ http://www.site.com/mylands/kalk/

#отключаем '\' для нормальной роботы json парсеров в PHP ниже 5.3
php_flag magic_quotes_gpc Off


в итоге, когда я ввожу www.site.com/mlgame/ меня перенаправляет на http://www.site.com/mylands/kalk-with-hero...ame-game=mlgame . Часть "?name-game=mlgame" кроме того что визуально портит url, еше и переприсваивает значение переменно name-game из-за чего выводится некорректная инфа... кто-то знает как в данной ситуации отключить передачу параметров первой ссылки на вторую?


П.С. нашел один маленький вариант решения писать в конце редиректа "?"

redirect 301 /mlgame/ http://www.site.com/mylands/kalk-with-heroes/?
, но это чета работает не во всех браузерах, та и знак "?" в url не очень красиво смотрится...
neadekvat
Хм, так, не вникая - попробуй поднять строки redirect выше других правил.
fyger
Цитата (neadekvat @ 26.01.2012 - 20:39)
Хм, так, не вникая - попробуй поднять строки redirect выше других правил.

попробывал, "левые" параметры серовно остаются(
neadekvat
Смотри, у тебя есть правило:
 RewriteRule ^([-,a-zA-Z,0-9]+)/$ index.php?name-game=$1 [QSA,L]

Есть запрос
www.site.com/mlgame/

И есть результат
http://www.site.com/mylands/kalk-with-heroes/name-game=mlgame

Думается мне, это ни разу не совпадение.
fyger
Цитата
Думается мне, это ни разу не совпадение.

ага, не спроста=) я вчера отключал, все работало кроме страниц с одним параметром=)
Stryker2k
Здравствуйте!

Интересует тот же самый вопрос: возможно ли соединить 301-й редирект www/без www и одновременно с этим использовать правило

RewriteRule ^([-,a-zA-Z,0-9]+)/$ index.php?name-game=$1 [QSA,L]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.