如何删除post post nginx上的尾部斜杠

时间:2016-10-28 13:16:30

标签: redirect nginx configuration trailing-slash

我正在尝试删除http post方法上的尾部斜杠,当我尝试使用rewrite ^/(.*)/$ /$1 permanent;重新编写URL时,它对我不起作用

如果Http POST以这些格式出现,则上游应以此格式/x/y接收

  • location / x / y / ==> location / x / y
  • location / x / y ==> location / x / y

这是nginx配置

  upstream backend {
            server 127.0.0.1:8778;
            # Number of idle keepalive connections per worker process.
            keepalive 35;
    }


    location /x/y  {        
                    limit_except POST {
                            deny all;
                    }
                    proxy_pass  http://backend;
                    proxy_buffering on;
                    include proxy.conf;
            }

这里的问题是当上游看到URI采用这种格式时/x/y/它拒绝了请求,这应该是正确的重写规则,以便如果http帖子的格式如{{1 }}或/x/y上游应该始终看到/x/y/

1 个答案:

答案 0 :(得分:3)

permanent会导致rewrite生成带有301响应的重定向。您需要的是在向上游发送URI之前对URI进行内部调整:

location /x/y {
    rewrite ^/(.*)/$ /$1 break;
    ...
}

有关详情,请参阅this document