Добрый день.
Есть задача сделать редирект по полному совпадению URI, в котором содержится anchor. Вот такой:
https://www.domain.com/#register?lead_type=business_trial&lead_source=website>est=false
Сделал следующее:
location / {
if ($request_uri = /#register?lead_type=business_trial&lead_source=website>est=false) {
rewrite ^ "http://www.domain.com/register/business_trial/?lead_source=website";
break;
}
..
}
Включил debug, захожу на https://www.domain.com/#register?lead_type=business_trial&lead_source=website>est=false - не работает.
В логи пишет что $args пустой:
2012/10/30 20:07:15 [debug] 16144#0: *1 http args: ""
Как только убираю #register из запроса и из условия сразу все работает как нужно.
То есть:
URL https://www.domain.com/?lead_type=business_trial&lead_source=website>est=false
Условие if ($request_uri = /?lead_type=business_trial&lead_source=website>est=false)
Лог 2012/10/30 20:11:03 [debug] 16182#0: *1 http args: "lead_type=business_trial&lead_source=website>est=false"
К сожалению нужно матчить URL именно с anchor.
PS. nginx версии 1.2.3