That would be a logical conclusion. However, rewrite <http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite> documentation is unclear about that. It says 'If the specified regular expression matches a request URI', and nginx has a $request_uri <http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_uri> variable demosntrating what 'request URI' means: what the user input was. Nowhere it is said that rewrite matches against a normalized URI. --- *B. R.*
On Sat, Nov 8, 2014 at 6:58 AM, Edho Arief <[email protected]> wrote: > On Sat, Nov 8, 2014 at 11:31 AM, B.R. <[email protected]> wrote: > > Hello, > > > > Trying to rewrite an URI based on an argument, I cannot match it > otherwise > > than by using rewrite. > > > > The problem is I fail to achieve a working recipe rewriting > > example.com/watch?v=123456 > > to > > example.com/watch?vid=123456 > > > > rewrite ^/watch\?v=(?<video>\d+)$ $scheme://$host$uri?vid=$video? > > does not seem to work > > > > rewrite ^/watch\? $scheme://$host$uri?vid=blah? > > does not either > > > > rewrite ^/watch $scheme://$host$uri?vid=blah?; > > works, though it explodes internal rewrites (which is not our concern > here). > > > > afaict, rewrite doesn't handle arguments. > > if ($arg_v) { > rewrite ^ $uri?vid=$arg_v; > } > > _______________________________________________ > nginx mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx >
_______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
