Stripping out query parameter?

Neil Sheth nsheth at gmail.com
Tue Mar 3 14:08:06 MSK 2009


Hmmm, I'm getting:

# nginx -t -c /etc/nginx/nginx.conf
2009/03/03 05:05:07 [emerg] 10550#0: invalid number of arguments in
"set" directive in /etc/nginx/nginx.conf:170
2009/03/03 05:05:07 [emerg] 10550#0: the configuration file
/etc/nginx/nginx.conf test failed

Not sure what the error is here.  Also, not sure if this rule belongs
at the server level, or within my "location / " section . . .

On Tue, Mar 3, 2009 at 1:17 AM, Maxim Dounin <mdounin at mdounin.ru> wrote:
> 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