Nginx :删除参数(?)之前的尾部斜杠并转发它而不是重定向



我有像/v1/path1/path2/?param1=a&param2=b 这样的网址。 我希望将其转换为/v1/path1/path2?param1=a&param2=b 并将其转发到服务器。

我在 Nginx conf 中写了一个重写,但返回的是带有重定向的 301 状态代码,我的客户无法处理。

那么,我们是否可以检查URL是否有额外的斜杠,然后将其删除并使用Nginx转发到服务器

我能够通过添加重写^/(.*)/$ /$1;来解决这个问题

server {
listen 80;
server_name mysite.com;
location / {
set $request_body_head '';
rewrite ^/(.*)/$ /$1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:8003;
}
}

最新更新