![使用 $1 参数重写 Nginx](https://linux22.com/image/708080/%E4%BD%BF%E7%94%A8%20%241%20%E5%8F%82%E6%95%B0%E9%87%8D%E5%86%99%20Nginx%20.png)
我正在尝试将一个 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 从主机传输到客户端。