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

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


охоспаде! этот велосипед изобретают с завидным постоянством:

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
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20160126/0cab67c4/attachment.html>


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