1 (11.05.2013 14:56 отредактировано NeedLe)

Тема: Неправильная ссылка при Редиректе

Привет Коллеги!
В общем поменял урл категорий и соответственно прописал редирект

Redirect 301 /урл_старой_категории/ http://сайт.info/урл_новой категории/

Но вид ссылки при редиректе получается такой

http://сайт.info/урл_новой категории/?do=cat&category=урл_старой_категории/

Хотя раньше когда делал редирект, то редирект происходил нормально и адрес был таким

http://сайт.info/урл_новой_категории/

В чем загвоздка?

Post's attachments

691a8edf0bc7.png 147.24 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2

Re: Неправильная ссылка при Редиректе

Решение нашел.

Правильный редирект:

RewriteCond %{QUERY_STRING} ^do=cat&category=bestsoft\/$ [NC]
RewriteRule ^soft/$ /soft/? [NC,L,R=301]

Re: Неправильная ссылка при Редиректе

NeedLe пишет:

Решение нашел.

Спасибо, что поделился решением!
Можно заменить:

RewriteRule ^soft/$ /soft/? [NC,L,R=301]

на:

RewriteRule ^(.+)$ $1? [L,R=301]

Будет более правильно. Должно работать, хотя я и не проверял.

4

Re: Неправильная ссылка при Редиректе

admin, Проверил, работает.

5

Re: Неправильная ссылка при Редиректе

Данный редирект работает, но если идёт редирект со страницы категории виде /старая категория/page/3/ то выдаётся вот такой /новая категория/page/3/?do=cat&category=main&cstart=3

Вот такой вариант редиректит и при обращении к страницам вида /старая категория/page/3/ на  /новая категория/page/3/

RewriteCond %{QUERY_STRING} ^do=cat&category=(.+)/?
RewriteRule ^([^.]+)$ /$1? [R=301,L]