Bagaimana untuk melaksanakan operasi pembahagian pada pembolehubah dalam nginx?
怪我咯
怪我咯 2017-05-16 17:30:00
0
1
796

Sebagai contoh, url yang diminta ialah

photos/100000_0_9-.jpg

Saya nak kira nombor 100000 dan bahagikan

location ~ /photos/([0-9]+)_0_([0-9]+)-.jpg$ {
    root '/home/images';
    set $id /10000;
    set $version ;
    rewrite /photos/([0-9]+)_0_([0-9]+)-.jpg$ /$id/$version/_0_-.jpg;
}

Kemudian tulis semula ke direktori yang sepadan dengan id, tetapi jika anda melakukan ini, nilai id akan menjadi 100000/10000 bukannya 10.

Bagaimana untuk melaksanakan operasi pembahagian ini dalam nginx?

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(1)
伊谢尔伦

Fail konfigurasi Nginx nampaknya tidak menyokong operasi sains data Anda boleh menggunakan HttpLuaModule yang ditulis oleh agentzh.

location ~ /photos/([0-9]+)_0_([0-9]+)-.jpg$ {
    root '/home/images';
    set $id ;
    set $version ;
    set_by_lua $id
               "return math.floor(tonumber(ngx.arg[1])/10000)"
                $id;
    rewrite /photos/([0-9]+)_0_([0-9]+)-.jpg$ /$id/$version/_0_-.jpg;
}

Anda juga boleh menulis sambungan operasi matematik mudah dalam bait https://github.com/arut/nginx-let-mod....

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan