Nginx在proxy_pass之前拆分URI



我试图在nginx中拆分一个URI,以便将其分解为组件。后面我会解释为什么。取这个url:

http://example.com/resize/customer-id/image.jpg/100/100/

我现在需要做的是将URI拆分为组件,以便我可以操作它。

例如,

发送proxy_pass到:

http://backend/customer-id/image.jpg

这是删除位置匹配的大小调整部分和两个结束组件。

最后的值我实际上希望使用:

image_filter resize $3 $4

如果有人知道答案,你可以帮助我,我正在兜圈子!

欢呼Ric

未测试,作为一个例子。
接下来,您可以在location中使用变量。

if ($uri ~ ^/resize(/customer-id/image.jpg)/([0-9]+)/([0-9]+)/$ {
    set $path1 $1; 
    set $w $2;
    set $h $3;
}

最新更新