htaccess редирект с сохранением параметров

T0
На сайте с 04.01.2010
Offline
56
662

Доброго дня! Подскажите, пожалуйста, как сделать редирект с сохранением параметров со страницы вида http://site.ru/index.php?user=Nick.Name на страницу http://site.ru/admin/index.php?user=Nick.Name

Пробовал такой редирект, но видно что-то не так в синтаксисе, не работает:

RewriteCond %{QUERY_STRING} ^user=(.*)$

RewriteRule ^index\.php(\?.*)?$ /admin/index.php?user=$1 [L]

C
На сайте с 04.02.2005
Offline
291
#1

QSA - пробовали?

T0
На сайте с 04.01.2010
Offline
56
#2

Если просто добавить QSA:

RewriteCond %{QUERY_STRING} ^user=(.*)$

RewriteRule ^index\.php(\?.*)?$ /admin/index.php?user=$1 [L,QSA]

То с исходного http://site.ru/index.php?user=Nick.Name идет редирект на http://site.ru/?user=Nick.Name - то есть редирект как надо не работает.

Думаю, я где-то в синтаксисе напортачил, кто в нем хорошо разбирается, проверьте, пожалуйста.

M2
На сайте с 12.12.2015
Offline
7
#3
terra07:
Доброго дня! Подскажите, пожалуйста, как сделать редирект с сохранением параметров со страницы вида http://site.ru/index.php?user=Nick.Name на страницу http://site.ru/admin/index.php?user=Nick.Name

Пробовал такой редирект, но видно что-то не так в синтаксисе, не работает:
RewriteCond %{QUERY_STRING} ^user=(.*)$
RewriteRule ^index\.php(\?.*)?$ /admin/index.php?user=$1 [L]

Я бы сделал так

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/index\.html$ [NC]
RewriteCond %{QUERY_STRING} ^user=(.*)$
RewriteRule ^index\.html(.*)$ http://site.ru/admin/index.html$1 [NC,L]
T0
На сайте с 04.01.2010
Offline
56
#4

Да, такой вариант работает. Спасибо!

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