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

igroykt nginx-forum на forum.nginx.org
Пн Янв 25 11:19:23 UTC 2016


Ясно. Ну деваться уже некуда. Вроде решил вложенными 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