重定向-如何在发布请求nginx上删除尾部斜杠

当我尝试使用永久重写^ /(.*)/ $/ $1来重写URL时,我试图在http post方法上删除斜杠.这对我不起作用

如果Http POST以这些格式发送,则上游应以/ x / y格式接收

>位置/ x / y / ==>位置/ x / y
>位置/ x / y ==>位置/ 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帖子的格式为/ x / y或/ x / y /上游应该总是看到/ x / y

解决方法:

永久文件将导致重写以301响应生成重定向.您需要在向上游发送URI之前对URI进行内部调整:

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

有关更多信息,请参见this document.

上一篇:javascript-重定向后的jQuery AJAX调用给出错误


下一篇:ruby-on-rails – 代理后面的Rails应用程序,使用SSL,将路径呈现为“http://”