Proxy Nginx ou reescrever dependendo do agente do usuário

Eu sou novo no nginx, vindo do apache e eu basicamente quero fazer o seguinte:

Com base no user-agent: iPhone: redirecionar para iphone.mydomain.com

android: redirecionar para android.mydomain.com

facebook: proxy reverso para otherdomain.com

todos os outros: redirecionar para ...

e tentei da seguinte maneira:

location /tvoice {
   if ($http_user_agent ~ iPhone ) {
    rewrite     ^(.*)   https://m.domain1.com$1 permanent;
   }
   ...
   if ($http_user_agent ~ facebookexternalhit) {
    proxy_pass         http://mydomain.com/api;
   }

   rewrite     /tvoice/(.*)   http://mydomain.com/#!tvoice/$1 permanent;
}

Mas agora eu recebo um erro ao iniciar o nginx:

nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except"

E eu não entendo como fazer isso ou qual é o problema.

obrigado

questionAnswers(1)

yourAnswerToTheQuestion