Nginx:删除params(?)之前的斜杠并转发而不进行重定向

时间:2019-11-29 05:43:57

标签: nginx

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

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

因此,我们可以检查URL是否带有多余的斜杠,然后将其删除并使用Nginx转发到服务器

1 个答案:

答案 0 :(得分:0)

我能够通过在位置conf中添加重写^/(.*)/$ /$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;
  }
}