map directive using $default as origin
Dewangga Bachrul Alam
dewanggaba at xtremenitro.org
Wed Aug 10 03:07:51 UTC 2016
Hello!
I am using module small_light
(https://github.com/cubicdaiya/ngx_small_light), since the module can't
detect which browser can process webp transformation, I creating a
simple directive on nginx to detect chrome and opera only and fallback
the rest to jpeg/jpg.
But, if the origin is not jpg (eg: png or gif), the directive transform
it into jpg.
The snippet looks like :
map $http_user_agent $img_mode {
$default jpg;
~*chrome webp;
~*opera webp;
}
... snip ...
location ~ \.(jpe?g|png|gif|webp)$ {
root /usr/share/nginx/html;
small_light on;
small_light_getparam_mode on;
rewrite (?<capt>.*) $capt?$args&of=$img_mode break;
}
... snip ...
Is it possible to give the $default value came from the origin file(s)?
So the nginx didn't process png/gif into jpg if using firefox. And will
process anything into webp if using Opera/Google Chrome.
Many helps are appreciated.
Thank you :)
More information about the nginx
mailing list