当我尝试使用永久重写^ /(.*)/ $/ $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.