使用 $1 参数重写 Nginx

使用 $1 参数重写 Nginx

我正在尝试将一个 URL 重写为另一个 URL,但是我无法正确使用 $1:

location ~ ^/announce {
    rewrite ^(.*)$1 http://exemple.com/$1/announce.php?ip=$remote_addr&$args;
}

事实上http://jack.exemple.com:2052/anything/announce应该成为https://exemple.com/anything/announce.php?ip=$remote_addr&

没有 也可以$1,但有 args beetwinhttp://jack.exemple.com:2052//announce

我认为这是相当简单,但不太常见,而且我找不到好的语法。

答案1

我用这个语法解决了我的问题:

rewrite ^(.*)$ $1?ip=$remote_addr&$args break;

我只是?ip=$remote_addr&$args在 URL 末尾添加了。供参考,这是通过 cloudflare 将真实 IP 从主机传输到客户端。

相关内容