繁体   English   中英

Nginx重写部分网址

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM