Помогите с 301 редиректом внутри сайта

12
LM
На сайте с 28.04.2012
Offline
7
930

Немного поменялась структура УРЛов подразделов и теперь нужно сделать редиректы. Но вот чет не работает.

Старый УРЛ: http://site.com/baza?city=77&district=88

Новый УРЛ: http://site.com/baza/msk?district=88

Пишу в .htaccess строку:

Redirect 301 /baza?city=77&district=88 http://site.com/baza/msk?district=88

Но ничего не происходит, браузер не перенаправляет. Такой код не пашет. .htaccess настроен, уже есть пару старых редиректов подобного формата (правда там покороче и попроще, между разделами.. А этот не хочет. В чем может быть проблема или как по другому прописать редирект чтобы он заработал?

TBAG
На сайте с 28.05.2012
Offline
78
#1

RewriteCond %{QUERY_STRING} ^city=77&district=88$

RewriteRule (.*) http://site.com/baza/msk?district=88 [L,R=301]

---------- Добавлено 21.08.2012 в 21:13 ----------

Такой код не пашет.

Все правильно т.к. этот редирект не передает параметры, которые идут после знака ?

http://presite.ru/ (http://presite.ru/) - SMM (http://presite.ru/karta-sayta-1.html) только самые качественные материалы (http://www.presite.ru/#top) по раскрутке сайтов и их оптимизации в поисковых системах (http://presite.ru/index.php?option=com_xmap&sitemap=1&view=xml).
LM
На сайте с 28.04.2012
Offline
7
#2
TBAG:
RewriteCond %{QUERY_STRING} ^city=77&district=88$
RewriteRule (.*) http://site.com/baza/msk?district=88 [L,R=301]

---------- Добавлено 21.08.2012 в 21:13 ----------



Все правильно т.к. этот редирект не передает параметры, которые идут после знака ?

К сожалению, тоже не идет. Вообще ошибка 500 и ругается http://clip2net.com/clip/m109815/1345569463-clip-25kb.png

---------- Добавлено 21.08.2012 в 21:24 ----------

Но при ошибке УРЛ почти правильный, только в конце добавляет "%3f", то есть выглядит как http://site.com/baza/msk?district=88%3f

TBAG
На сайте с 28.05.2012
Offline
78
#3

RewriteCond %{QUERY_STRING} ^city=77&district=88$

RewriteRule (.*) http://site.com/baza/msk?district=88? [L,R=301]

LM
На сайте с 28.04.2012
Offline
7
#4

тоже самое. опять ошибка и http://site.com/baza/msk?district=88%3f. Я так понял разницы была только в "?" во второй строчке?

siv1987
На сайте с 02.04.2009
Offline
427
#5

Добавить после RewriteEngine (последний знак вопрос можно убрать из редиректа)

если не поможет, покажите весь htaccess

LM
На сайте с 28.04.2012
Offline
7
#6

Помогло!☝ ОГРОМНОЕ спасибо! а это правильный 301 редирект? вес и ПР будут по такому перетекать?

siv1987
На сайте с 02.04.2009
Offline
427
#7
а это правильный 301 редирект?

"правильный" 301 редирект - R=301

LM
На сайте с 28.04.2012
Offline
7
#8

Ну этот же тоже годится? по нему склеит страницы и передаст ПР?

---------- Добавлено 22.08.2012 в 01:13 ----------

а как сделать шаблоном? потому что у меня таких урлов много, и когда я написал редиректов на каждый УРЛ, то файл htaccess получился огромный и все легло.

Как сделать например чтобы старые урлы вида http://site.com/baza?city=77&district=(любое значение)

редиректились на соответствующие урлы http://site.com/baza/msk?district=(любое значение)

где city=77 - это msk

city=99 - это spb и так далее

Помогите плз, потому что поштучно прописать все это капец.

siv1987
На сайте с 02.04.2009
Offline
427
#9
LeonidMK:
Ну этот же тоже годится?

Этот и есть 301 [L,R=301]

RewriteCond %{QUERY_STRING} ^city=77&district=(.+)$

RewriteRule ^baza$ /baza/msk?district=%1 [R=301,L]

RewriteCond %{QUERY_STRING} ^city=99&district=(.+)$

RewriteRule ^baza$ /baza/spb?district=%1 [R=301,L]

и тд

LM
На сайте с 28.04.2012
Offline
7
#10

Фантастика! Еще раз спасибо! Учитьтя-учиться и еще раз учиться ☝

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий