$request uri и anchors

madad nginx-forum at nginx.us
Tue Oct 30 20:32:22 UTC 2012


Добрый день.

Есть задача сделать редирект по полному совпадению URI, в котором содержится
anchor. Вот такой:

    
https://www.domain.com/#register?lead_type=business_trial&lead_source=website&gtest=false

Сделал следующее:
        location / {
            if ($request_uri =
/#register?lead_type=business_trial&lead_source=website&gtest=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&gtest=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&gtest=false
   Условие  if ($request_uri =
/?lead_type=business_trial&lead_source=website&gtest=false)
   Лог 2012/10/30 20:11:03 [debug] 16182#0: *1 http args:
"lead_type=business_trial&lead_source=website&gtest=false"

К сожалению нужно матчить URL именно с anchor.

PS. nginx версии 1.2.3

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,232406,232406#msg-232406



Подробная информация о списке рассылки nginx-ru