Как правильно сделать редирект?

P2
На сайте с 30.07.2013
Offline
20
502

Помогите, пожалуйста, сделать редирект 301 со страницы example.com/user/registration/ на главную страницу example.com/, но самое главное, чтобы страница example.com/user/registration/?user_group_id=PrivateSeller открывалась, как обычно.

P2
На сайте с 30.07.2013
Offline
20
#1

Если никто не знает, то как хотя бы сделать редирект 301 с example.com/user/registration/ на example.com/user/registration/?user_group_id=PrivateSeller?

G-and-Y
На сайте с 29.06.2013
Offline
185
#2

А гугл юзнуть лень? Ответов море.

Абузо-устойчивые впс ( http://vps-hosting.lv/?p=13408 )
P2
На сайте с 30.07.2013
Offline
20
#3
G-and-Y:
А гугл юзнуть лень? Ответов море.

Попрошу не умничать! Если Вы мне не смогли ответить, то это означает только одно - Вы сами не знаете, как здесь поступить (просто вставили свои пять копеек). Я ответ в гугле искал, но не нашел!

Нигде, например, я не нашел ответ, как сделать в .htaccess редирект 301 с динамических страниц вида

example.com/user/registration/ на главную страницу example.com/, так чтобы не происходил редирект с

example.com/user/registration/?user_group_id=PrivateSeller.

По всему интернету пишут сделать так:

Redirect 301 /user/registration http://example.com, но в таком случае происходит так же редирект со страницы example.com/user/registration/?user_group_id=PrivateSeller, а мне это не нужно. Мне нужен редирект только с example.com/user/registration/.

Нашел еще код вида (Задача: перенаправить страницу вида http://example.com/index.php?id=21 на страницу вида http://example.com/example.html):

RewriteCond %{QUERY_STRING} ^id=21
RewriteRule ^index.php$ http://example.com/example.html? [L,R=301]
,

но как это применить к своему случаю не понимаю, попробовал сделать так:

RewriteCond %{QUERY_STRING} ^/registration
RewriteRule ^/user$ http://example.com? [L,R=301]
, но так не работает.

K
На сайте с 27.12.2011
Offline
28
#4

Я тоже не программист, но у себя на сайте сделал методом проб и ошибок. Попробуйте так:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /user/registration\ HTTP/

RewriteRule ^user/registration$ http://example.com [R=301,L]

Вот мой работающий пример:

редирект страницы http://example.com/video/video-prikol.html на главную http://example.com, при этом страницы вида http://example.com/video/video-prikol.html?start=8 работают:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /video/video-prikol\.html\ HTTP/

RewriteRule ^video/video-prikol\.html$ http://example.com [R=301,L]

Удачи ;)

P2
На сайте с 30.07.2013
Offline
20
#5

Спасибо, kreidar

Я сделал как Вы показали, это помогло сделать редирект со страницы http://example.com/user/registration :), но если добавить в конце /:http://example.com/user/registration/ редирект не происходит.

Честно признаюсь, не знаю, что изменить в коде, чтобы был редирект и с / и без.

---------- Добавлено 19.10.2013 в 22:15 ----------

Сделал так:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /user/registration\ HTTP/
RewriteRule ^user/registration$ http://example.com [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /user/registration/\ HTTP/
RewriteRule ^user/registration/$ http://example.com [R=301,L]

Теперь все нормально работает :)

Еще раз спасибо, kreidar!

K
На сайте с 27.12.2011
Offline
28
#6

Метод проб и ошибок. Пробуйте так:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /user/registration/\ HTTP/

RewriteRule ^user/registration/$ http://example.com [R=301,L] :)

---------- Добавлено 19.10.2013 в 19:16 ----------

опоздал) Ну разобрались и гуд

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