Re: Как вытащить нужные данные из user-agent?

Синицкий Павел Евгеньевич sejo412 на gmail.com
Пн Янв 25 22:39:02 UTC 2016


а еще лучше еще один мап с тем-же $redirect_host в зависимости от ua -
тогда вообще ифов не нужно

26 января 2016 г., 1:30 пользователь Синицкий Павел Евгеньевич <
sejo412 на gmail.com> написал:

> охоспаде! этот велосипед изобретают с завидным постоянством:
>
> 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
>



-- 

С уважением,
Синицкий Павел Евгеньевич
тел. +79647994159
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160126/33fa977d/attachment.html>


Подробная информация о списке рассылки nginx-ru