Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk melaksanakan operasi pembahagian pada pembolehubah dalam nginx?

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?

怪我咯怪我咯2712 hari yang lalu736

membalas semua(1)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:32:00

    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....

    balas
    0
  • Batalbalas