URI rewriting based on arguments

B.R. reallfqq-nginx at yahoo.fr
Sat Nov 8 15:41:46 UTC 2014


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 <me at myconan.net> wrote:

> On Sat, Nov 8, 2014 at 11:31 AM, B.R. <reallfqq-nginx at yahoo.fr> 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
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20141108/068d794f/attachment.html>


More information about the nginx mailing list