我有一个网络服务器,可以接受https://www.example.com/API/ooo/xxx
,https://www.example.com/API/aaa/bbb
和https://www.example.com/API/xxx/yyy
...等。
现在,我们要将上述任务重定向到https://www.example.com/ooo/xxx
,https://www.example.com/aaa/bbb
和https://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
正则表达式属性。
答案 0 :(得分:0)
使用<div class="img"></div>
语句。您可以使用正则表达式return
块来捕获要返回的URI部分。
例如:
location
请注意,使用正则表达式location ~ ^/API(/.*)$ {
return 307 $1$is_args$args;
}
伪指令,其在配置中的顺序很重要,因此您可能需要移动它。有关详情,请参见this document。