Rewriting query string
Sergey A. Osokin
osa at freebsd.org.ru
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;
proxy_pass http://127.0.0.1:8080;
}
}
--------
% curl -i http://127.0.0.1/foo
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
OK:/foo?ra=127.0.0.1
--------
There are several ways to manage a list of arguments of a query
string and the embedded perl module definitely can help in that
case.
Another approach is to use the following third-party module,
https://github.com/wandenberg/nginx-sorted-querystring-module
--
Sergey Osokin
More information about the nginx
mailing list