Редирект ссылки с параметрами

12
D
На сайте с 12.03.2011
Offline
36
1414

Господа, помогите, пожалуйста, настроить редирект.

Есть страница http:// www. site.ru/category?limitstart=0

Нужно сделать 301 рекдиект на стр. http:// www. site.ru/category

Таких редиректо много... Т.е.:

site.ru/client?limitstart=0 нужно 301 рекдирект на site.ru/client

site.ru/goods?limitstart=0 нужно 301 рекдирект на site.ru/goods

и т.д.

Обычным методом не работает:

RewriteRule ^category?limitstart=0$ /category [R=301,L]

Как нужно прописать!

Заранее всех благодарю!

Группа Вконтакте - seo консультации (https://vk.com/seo_in_minsk)
M
На сайте с 16.09.2009
Offline
278
#1
duskat:
Обычным методом не работает

Вы используете, мягко говоря - "необычный" метод. Просто начисто игнорируя документацию mod_rewrite. query string (часть URL после ?) попусту не является частью паттерна в RewriteRule.

Вам нужно как-то так:

RewriteCond %{QUERY_STRING} ^limitstart=0$

RewriteRule ^category$ /category? [R=301,L]
Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
D
На сайте с 12.03.2011
Offline
36
#2
myhand:
Вы используете, мягко говоря - "необычный" метод. Просто начисто игнорируя документацию mod_rewrite. query string (часть URL после ?) попусту не является частью паттерна в RewriteRule.

Вам нужно как-то так:
RewriteCond %{QUERY_STRING} ^limitstart=0$

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

ДА!!!!! РАБОТАЕТ!!!!!!!! :)

СПАСИБО, ВАМ!!!!

J
На сайте с 04.11.2011
Offline
106
#3

Здравствуйте, собратья! Дабы не плодить похожих тем, попрошу помощи в этой. Все таки вопрос очень схож. Нужен редирект на ссылки с параметрами.

Как можно убрать дубли в страницах Joomla такого вида:

sayt.ru/?start=5

sayt.ru/?start=5/

sayt.ru/categoriya?start=5

sayt.ru/categoriya?start=5/

Как видите по ссылкам Выше – дубли со слешем получаются.

P.S. Стоит Joomla 2.5, сторонние компоненты не использую.

Заранее спасибо за ответ!

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

Добавить после RewriteEngine On

RewriteCond %{QUERY_STRING} ^start=(\d+)/

RewriteRule ^(.*) /$1?%1 [R=301,L]

J
На сайте с 04.11.2011
Offline
106
#5
siv1987:
Добавить после RewriteEngine On

RewriteCond %{QUERY_STRING} ^start=(\d+)/
RewriteRule ^(.*) /$1?%1 [R=301,L]

Спасибо за решение, но оно мне не подошло. У меня получаются такие ссылки: sayt.ru/?5 и перекидывает на главную страницу. А надо, чтобы адрес остался тот же, только без слеша.

M
На сайте с 16.09.2009
Offline
278
#6
Joofaq:
Спасибо за решение, но оно мне не подошло.

Потому что тебе дали немного неверное решение. А ты тупо вбил его.

siv1987:
RewriteCond %{QUERY_STRING} ^start=(\d+)/
RewriteRule ^(.*) /$1?start=%1 [R=301,L]
J
На сайте с 04.11.2011
Offline
106
#7
myhand:
Потому что тебе дали немного неверное решение. А ты тупо вбил его.

Супер! Спасибо - Ваше решение отлично работает.

siv1987
На сайте с 02.04.2009
Offline
427
#8
Joofaq:
Спасибо за решение, но оно мне не подошло.

Да, немного ошибся с скобками

RewriteCond %{QUERY_STRING} ^(start=\d+)/

RewriteRule ^(.*) /$1?%1 [R=301,L]

J
На сайте с 04.11.2011
Offline
106
#9
siv1987:
Да, немного ошибся с скобками

RewriteCond %{QUERY_STRING} ^(start=\d+)/
RewriteRule ^(.*) /$1?%1 [R=301,L]

Спасибо. А чем это решение отличается от:

RewriteCond %{QUERY_STRING} ^start=(\d+)/

RewriteRule ^(.*) /$1?start=%1 [R=301,L]

У меня отлично заработало вышеописанное.

M
На сайте с 16.09.2009
Offline
278
#10
12

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