Не передать полную строку запроса на перенаправленный URL в htaccess - PullRequest
0 голосов
/ 09 сентября 2011

Я создаю файл htaccess, в настоящее время у меня длинный URL-адрес, похожий на этот:

domain.com / file.aspx? ID = 1000 & AE = value1 & PL = значение2

Я хочу перенаправить его так:

* Подкаталог 1006 * seconddomain.com / Каталог / / 1000

(т.е. просто используйте значение переданного ключа ID).

Вот что я использую:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^id=([0-9]+).*$
RewriteRule ^file.aspx$ http://seconddomain.com/directory/subdirectory/%1 [R=301,L]

Однако в итоге я получаю:

http://seconddomain.com/directory/subdirectory/1000?id=1000&AE=value1&PL=value2

т.е. значение идентификатора помещается в правильном месте - однако полная строка запроса добавляется. У меня нет флага QSA.

Что я делаю не так?

Заранее спасибо.

1 Ответ

2 голосов
/ 09 сентября 2011

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

РЕДАКТИРОВАТЬ

Просто чтобы уточнить ваш код будет выглядеть следующим образом:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^id=([0-9]+).*$
RewriteRule ^file.aspx$ http://seconddomain.com/directory/subdirectory/%1? [R=301,L]
...