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