Maison > Questions et réponses > le corps du texte
Par exemple, l'url demandée est
photos/100000_0_9-.jpg
Je veux calculer le nombre 100000 et le diviser
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; }
Réécrivez ensuite dans le répertoire correspondant à l'id, mais si vous faites cela, la valeur de l'id deviendra 100000/10000 au lieu de 10.
Comment implémenter cette opération de division dans nginx ?
伊谢尔伦2017-05-16 17:32:00
Le fichier de configuration Nginx ne semble pas prendre en charge les opérations de science des données. Vous pouvez utiliser le HttpLuaModule écrit par 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; }
Vous pouvez également écrire une extension d'opération mathématique simple en octets https://github.com/arut/nginx-let-mod....