apmersand in rewrite rule is escaped if url encoded value exists

kennylanse nginx-forum at nginx.us
Thu May 24 11:29:43 UTC 2012

I want to transfer
/script/action/var1___val1/var2___val2/.../varN___valN/ to
/script/action?var1=val1&var2=val2&...&varN=valN. My rewrite rules are:

rewrite ^/script/(.*)/(\w+)___([^/]+)/(.*)$ /script/$1/$2=$3&$4? last;
rewrite ^/script/(\w+)/(.+) /script/$1?$2 break;

If value of val1/val2/.../valN is alphabets or digits, the rules works
fine. Once url encoded value appears, the apmersands connecting
variable-value pairs are escaped to '%26' which makes it sucks.

Can somebody help me? 

Thanks, Kenny.

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

More information about the nginx mailing list