[英]Nginx rewrite partial url
我有以下网址:
http://www.example.com/img/products/10103/f/10103-s-1.jpg
并希望将其重写为:
http://www.example.com/img/products/10103/10103-s-1.jpg
(10103)之间的数字可以更改,图像名称也可以更改。 我尝试了以下nginx重写规则:
rewrite ^/img/products/(.+)$/f /img/products/$1 last;
为什么现在可以使用?
当前的重写规则符合
^/img/products/(.+)$/f
这意味着URL路径以/img/products/
开头,然后跟随所有内容,URL结束,然后跟随/f
。 当您使用指示行尾的美元符号时,它永远不会匹配任何一行,然后在其后有字符。
如果你想匹配
/img/products/10103/f/10103-s-1.jpg
您必须将其更改为^/img/products/(.+)$
,但是当您要提取两个id组时,您正在寻找^/img/products/(.+)/f/(.+)$
,然后将其替换为/img/products/$1/$2
。 正如您在评论中发布的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.