我现在一直在 nginx 上遇到一个奇怪的问题。我有两台 nginx 服务器,一台托管我想转发到另一台服务器的内容。进行转发的站点启用了以下配置:
server {
listen 80;
server_name pastdomain.com;
return 301 https://domain.com$request_uri?from_past_domain=true;
}
server {
listen 443;
server_name pastdomain.com;
return 301 https://domain.com$request_uri?from_past_domain=true;
# bunch of ssl config here
}
基本上我想将所有流量发送到新服务器,在那里它可以用一个新的 get 变量 from_past_domain 来解释,我可以在新服务器上根据需要解释它。
IE。过去的域名.com/thing/thing1/1/
将转化为
domain.com/thing/thing1/1?from_past_domain=true
现在它似乎正在工作,除了我刚刚访问 pastdomain.com 的情况
我反而得到 domain.com//?from_past_domain=true
这是不正确的。此外,它没有正确添加新的 get 参数。
IE。如果我有 pastdomain.com?test=1&test2=2 它转发到 domain.com/?test=1&test2=2?from_past_domain=true
我怎样才能正确转发这个?