Rewriting query string

Sergey A. Osokin osa at
Sun Dec 29 11:58:46 UTC 2019

Hi Olaf,

hope you're doing well.

On Sun, Dec 29, 2019 at 04:41:58AM -0500, Olaf van der Spek wrote:
> > rewrite ^(.*)$ $1?ra=$remote_addr break;
> The ra argument is inserted before the original query string. Is it possible
> to append it to the original query string?
> Is this behavior documented somewhere? Couldn't find it.
> Can one also remove certain arguments from the query string this way?

The following code snippet shows another arguments has been added after
the original query:

    server {
        listen       8080;
        location / { return 200 "OK:$request_uri\n"; }

    server {
        listen       80;
        location / {
                rewrite ^(.*)$ $1?ra=$remote_addr break;
% curl -i
HTTP/1.1 200 OK
Server: nginx/1.17.7
Date: Sun, 29 Dec 2019 11:51:32 GMT
Content-Type: application/octet-stream
Content-Length: 21
Connection: keep-alive


There are several ways to manage a list of arguments of a query
string and the embedded perl module definitely can help in that

Another approach is to use the following third-party module,

Sergey Osokin

More information about the nginx mailing list