If HTTP GET in query string contains underscore (_) as %5F: f.e. GET /index.php?user%5Fid=50 then I can't check this with if ($arg_user_id ~* ^50$) or if ($arg_user%5Fid ~* ^50$). For GET /index.php?user_id=5 all fine. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,16373,16373#msg-16373