nginx重定向POST请求

时间:2019-01-13 07:43:14

标签: nginx

我有一个网络服务器,可以接受https://www.example.com/API/ooo/xxxhttps://www.example.com/API/aaa/bbbhttps://www.example.com/API/xxx/yyy ...等。

现在,我们要将上述任务重定向到https://www.example.com/ooo/xxxhttps://www.example.com/aaa/bbbhttps://www.example.com/xxx/yyy ...等。

我尝试在nginx中使用rewrite关键字:

location /API/ {
    rewrite ^/API(.*)$ https://$host$1 redirect;
}

这适用于GET请求。但是它将POST请求转换为GET请求。这是我不想要的东西。

在将/API/*重定向到/*时如何保留http方法?

post表示我可以使用307重定向。但是rewrite似乎不支持307重定向。而且我不知道如何在$1中使用return正则表达式属性。

1 个答案:

答案 0 :(得分:0)

使用<div class="img"></div>语句。您可以使用正则表达式return块来捕获要返回的URI部分。

例如:

location

请注意,使用正则表达式location ~ ^/API(/.*)$ { return 307 $1$is_args$args; } 伪指令,其在配置中的顺序很重要,因此您可能需要移动它。有关详情,请参见this document