例如,請求的url是photos/100000_0_9-.jpg我想要計算取出100000這個數(shù)字,對其進行除法操作location ~ /photos/([0-9]+)_0_([0-9]+)-.jpg$ { root '/home/images'; set $id $1/10000; set $version $2; rewrite /photos/([0-9]+)_0_([0-9]+)-.jpg$ /$id/$version/$1_0_$2-.jpg;
}然后重寫到該id對應的目錄,但是這樣操作的話,id的值會變成100000/10000,而不是10.
1 回答

弒天下
TA貢獻1818條經(jīng)驗 獲得超8個贊
Nginx配置文件里似乎是不支持數(shù)據(jù)學運算的,可以使用agentzh編寫的HttpLuaModule。
location ~ /photos/([0-9]+)_0_([0-9]+)-.jpg$ { root '/home/images'; set $id $1; set $version $2; set_by_lua $id "return math.floor(tonumber(ngx.arg[1])/10000)" $id; rewrite /photos/([0-9]+)_0_([0-9]+)-.jpg$ /$id/$version/$1_0_$2-.jpg; }
- 1 回答
- 0 關注
- 178 瀏覽
添加回答
舉報
0/150
提交
取消