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