簡體   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