охоспаде! этот велосипед изобретают с завидным постоянством:
map "$http_user_agent" $ua {
default 2;
"~(iPhone|iPod)" 1;
"~Android.*Mobile" 1;
"~IEMobile" 1;
"~Mobile" 1;
и дальше один if ua (Ваши регекспы выше)
25 января 2016 г., 19:01 пользователь Илья Шипицин <chipitsine@gmail.com>
написал:
> https://gist.github.com/perusio/1326701 - пример map с несколькими
> условиями (не мой пример)
>
>
>
>
> 25 января 2016 г., 16:19 пользователь igroykt <nginx-forum@forum.nginx.org
> > написал:
>
> Ясно. Ну деваться уже некуда. Вроде решил вложенными if-ами.
>> В итоге получилась следующая бяка:
>> Если в строке есть android но нет намека на kindlefire...
>> if ($http_user_agent ~* "(android)") {
>> set $android A;
>> }
>> if ($http_user_agent !~*
>>
>> "(kftt|kfot|kfjwa|kfjwi|kfsowi|kfthwa|kfthwi|kfapwa|kfapwi|kfaswi|kftbwi|kfmewi|kffowi|kfsawa|kfsawi|kfarwi)")
>> {
>> set $android "${android}B";
>> }
>> if ($android = AB) {
>> set $android_rewrite perform;
>> }
>>
>> Ну и наоборот
>> if ($http_user_agent ~* "(android)") {
>> set $amazon A;
>> }
>> if ($http_user_agent ~*
>>
>> "(kftt|kfot|kfjwa|kfjwi|kfsowi|kfthwa|kfthwi|kfapwa|kfapwi|kfaswi|kftbwi|kfmewi|kffowi|kfsawa|kfsawi|kfarwi)")
>> {
>> set $amazon "${amazon}B";
>> }
>> if ($amazon = AB) {
>> set $amazon_rewrite perform;
>> }
>> Вообще наверное лучше искомые слова для kindlefire вынести в переменную
>> чтобы в нескольких местах не подправлять если выйдут новые девайсы.
>>
>> Posted at Nginx Forum:
>> https://forum.nginx.org/read.php?21,264075,264098#msg-264098
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
--
С уважением,
Синицкий Павел Евгеньевич
тел. +79647994159
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru