Редирект 301 в htaccess с упоминанием конкретной фразы

D1
На сайте с 26.02.2013
Offline
61
376

Приветствую. Подскажите такой вопрос: скажем, есть ссылки, допустим site.ru/?hello_world-122-2-3-3-rw34-r3. Хочу сделать редирект отовсюду, где упоминается "hello_world". Правильный ли код?:

RewriteRule ^(.*)hello\_world(.*)$ "http\:\/\/www\.site\.ru\/" [R=301,L]

Либо же редирект такого рода невозможен?

Мой сайт - klinok.pl.ua.
J
На сайте с 20.02.2014
Offline
120
jkm
#1

В RewriteRule попадает не вся ссылка, а только путь к файлу, так что GET параметры следует искать в %{QUERY_STRING}.

Для ссылок site.ru/?hello_world-122-2-3-3-rw34-r3 нужно так


RewriteCond %{QUERY_STRING} hello_world
RewriteRule ^ http://www.site.ru/? [R=301,L]
D1
На сайте с 26.02.2013
Offline
61
#2
jkm:
В RewriteRule попадает не вся ссылка, а только путь к файлу, так что GET параметры следует искать в %{QUERY_STRING}.
Для ссылок site.ru/?hello_world-122-2-3-3-rw34-r3 нужно так

RewriteCond %{QUERY_STRING} hello_world
RewriteRule ^ http://www.site.ru/? [R=301,L]

Благодарю. Немного поменял под реалии моего движка - всё работает:


RewriteCond %{QUERY_STRING} ^wptouch_switch= [NC]
RewriteRule (.*) $1? [R=301,L]

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