Proxy Nginx o reescritura dependiendo del agente de usuario

Soy nuevo en Nginx, proveniente de Apache y básicamente quiero hacer lo siguiente:

Basado en user-agent: iPhone: redirigir a iphone.mydomain.com

Android: redirigir a android.mydomain.com

Facebook: proxy inverso a otrodominio.com

todos los demás: redirigir a ...

Y lo probé de la siguiente manera:

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;
}

Pero ahora me sale un error al iniciar 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"

Y no entiendo cómo hacerlo o cuál es el problema.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta