2016-12-24 47 views
1

所以從pretashop遷移後1.4 - > 1.6從/img/p/*-*.jpg到/ IMG/P所有圖像文件夾結構,移動/ */*/*/* ...使用NGINX重寫變量作爲字符數組?

在同類產品描述我們有圖像鏈接到舊結構,我只是想制定規則。

〔實施例舊結構:/img/p/1256-5097.jpg

從這個網址我能得到ID 5097,但用它在新的圖像弗爾德斯我NEET將其分割到IMG/P/5 /0/9/7/5097.jpg

我可以使用nginx重寫模塊獲取(拆分)ID嗎?

回答

1

rewrite指令使用正則表達式。指定單獨捕獲數字的正則表達式,然後重建URI的要求,例如:

rewrite ^(/img/p/)\d+-(\d)(\d)(\d)(\d)(.jpg)$ $1$2/$3/$4/$5/$2$3$4$5$6; 

它看起來可怕,但它打破瞭如:

$1 = /img/p/ 
$2 = 5 
$3 = 0 
$4 = 9 
$5 = 7 
$6 = .jpg 

你並不需要捕獲$1$6,這些可以被硬編碼到結果中。

查看this documentrewrite語法和this useful resource正則表達式。

+0

Thx。 IT是我首先想到的(\ d)。很好地工作,只需將其改爲其他規則。 – NicomUA