版本化api的nginx转发部分uri

时间:2016-11-30 00:39:48

标签: redirect nginx nginx-location

是否有可用于重定向部分uri的变量?我有

location /api/v1/ {
    proxy_pass...;
}

location /api/ {
    return 302 /api/v1/$request_uri;
}

但是,如果我拨打/api/user这样的网址,则会重定向到/api/v1/api/user。如何重定向到/api/v1/user?是否有一个变量返回带有剥离位置的url?我试了$uri$document_uri而没有运气。

1 个答案:

答案 0 :(得分:1)

试一试。

rewrite ^/api/((?!v1/).*)$ /api/v1/$1 redirect;

location /api/v1/ {
    proxy_pass...;
}