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