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

Reply via email to