Stripping out query parameter?

Maxim Dounin mdounin at mdounin.ru
Tue Mar 3 12:17:05 MSK 2009


Hello!

On Tue, Mar 03, 2009 at 12:08:11AM -0800, Neil Sheth wrote:

> Hello,
> 
> I'm trying to rewrite some urls that are incorrect.  An example would be:
> 
> www.mysite.com/test.php?x=123&extra=yes
> 
> I want to rewrite this to
> 
> www.mysite.com/test.php?x=123
> 
> I'm trying something like the following, without luck:
> 
>          if ($args ~* ^(.*)(&?)extra=yes$) {
>              set $stripped_params = $1;
>              rewrite ^(.*)$ $1$stripped_params permanent;

-              rewrite ^(.*)$ $1$stripped_params permanent;
+              rewrite ^(.*)$ $1?$stripped_params? permanent;

>          }
> 
> Any thoughts?  I'm running 0.6.31.  Thanks!

1. Missing '?' to separate uri path and arguments.  Note that $args 
doesn't contain leading '?'.

2. Without trailing '?' nginx will append original arguments to 
resulting rewrite uri.

Maxim Dounin





More information about the nginx mailing list