Как сделать редирект со страницы с get параметром на обычный url

P
На сайте с 12.05.2017
Offline
16
965

Всем привет. В чем суть дела:

я сделал новый сайт selenia.com.ua, но до этого по этому адресу долго работал старый сайт на джумле с такой структурой ссылок: https://selenia.com.ua/ru/component/virtuemart/browse/22-selenia.html?sef=hc

Обратите внимание на вот эту вот заразу в ссылке: http://prntscr.com/nf7ft6

Естественно новый сайт отдает 404 ошибку, так таких ссылок уже нет. И мне нужно настроить редиректы, что бы перенаправить пользователей на новый нормальный ЧПУ адрес ))

Я столкнулся с такой проблемой, что обычный редирект не хочет перенаправлять с этих ссылок с get параметрами на новый адрес (искал долго решения но ни один мне не помог)

В общем что нужно сделать:

Как мне настроить редирект с этих г ссылок на нормальные? Может есть волшебная инструкция для .htaccess, о которой я не знаю, или может кто сталкивался с такой проблемой и знает как это решить. Спасибо (smiley)

P.S: такой вариант тоже не помогает:

RewriteCond %{QUERY_STRING} ^http://www.selenia.com.ua/ru/component/virtuemart/browse/22-selenia.html?sef=hc

RewriteRule ^index.php$ https://selenia.com.ua/ [L,R=301]
S
На сайте с 30.09.2016
Offline
459
#1
prowordpress:
P.S: такой вариант тоже не помогает:
RewriteCond %{QUERY_STRING} ^http://www.selenia.com.ua/ru/component/virtuemart/browse/22-selenia.html?sef=hc

Естественно. Зачем в условие QUERY_STRING пихать всякую хрень?

Там должно быть регулярное выражение, соответствующее строке запроса. Например,

RewriteCond %{QUERY_STRING} sef=hc
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
P
На сайте с 12.05.2017
Offline
16
#2
Sitealert:
Естественно. Зачем в условие QUERY_STRING пихать всякую хрень?
Там должно быть регулярное выражение, соответствующее строке запроса. Например,
RewriteCond %{QUERY_STRING} sef=hc

Я понял о чем Вы говорите, только вот не совсем понял как правильно прописать, что бы определенная страница с таким параметром переадресовывалась на другую страницу?

S
На сайте с 30.09.2016
Offline
459
#3
prowordpress:
как правильно прописать, что бы определенная страница с таким параметром переадресовывалась на другую страницу?

Написать соответствующее правило.

J
На сайте с 20.02.2014
Offline
94
jkm
#4

RewriteCond %{QUERY_STRING} sef=hc

RewriteRule ^index.php$ https://selenia.com.ua/? [L,R=301]

Там если не добавить знак вопроса, то при редиректе останутся исходные GET параметры и произойдёт зацикливание на selenia.com.ua/?sef=hc

P
На сайте с 12.05.2017
Offline
16
#5
Sitealert:
Написать соответствующее правило.

Какое конкретно можно узнать?

Вот пример: с этой страницы http://www.selenia.com.ua/ru/component/virtuemart/browse/22-selenia.html?sef=hc нужно перенаправить на эту https://selenia.com.ua/product-category/motornoe-maslo-selenia/

Спасибо

S
На сайте с 30.09.2016
Offline
459
#6
prowordpress:
Какое конкретно

Выше jkm написал. Конкретно для приведённого Вами примера будет

RewriteCond %{QUERY_STRING} sef=hc
RewriteRule ^ru/component/virtuemart/browse/22-selenia\.html$ https://selenia.com.ua/product-category/motornoe-maslo-selenia/? [L,R=301]
P
На сайте с 12.05.2017
Offline
16
#7
Sitealert:
Выше jkm написал. Конкретно для приведённого Вами примера будет
RewriteCond %{QUERY_STRING} sef=hc

RewriteRule ^ru/component/virtuemart/browse/22-selenia\.html$ https://selenia.com.ua/product-category/motornoe-maslo-selenia/? [L,R=301]

Спасибо, только все равно не работает :( Я даже уже не знаю как это реализовать((

S
На сайте с 30.09.2016
Offline
459
#8

Оно не может не работать. Тут даже думать не над чем.

J
На сайте с 20.02.2014
Offline
94
jkm
#9

Да всё как обычно, если поставить правило в самый конец файла, то оно может не работать.

prowordpress, редирект нужно перенести в начало файла, чтобы он срабатывал до того, как правила для ЧПУ направят запрос на index.php.

P
На сайте с 12.05.2017
Offline
16
#10
jkm:
Да всё как обычно, если поставить правило в самый конец файла, то оно может не работать.
prowordpress, редирект нужно перенести в начало файла, чтобы он срабатывал до того, как правила для ЧПУ направят запрос на index.php.

спасибо добрый человек, по поводу начала файла я вообще не подумал. Действительно, перенес редирект в самое начало файла и все заработало)

---------- Добавлено 23.04.2019 в 08:49 ----------

Sitealert:
Оно не может не работать. Тут даже думать не над чем.

Спасибо за помощь. Оказывается было над чем подумать. В общем сейчас все работает, спасибо)

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