Nginx-Proxy oder Neuschreiben, je nach Benutzerprogramm

Ich bin neu in Nginx, komme aus Apache und ich möchte im Grunde Folgendes tun:

Basierend auf User-Agent: iPhone: Weiterleitung zu iphone.meinedomain.com

android: Weiterleitung zu android.meinedomain.com

Facebook: Reverse-Proxy zu otherdomain.com

alle anderen: Weiterleiten an ...

und probierte es auf folgende Weise:

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

Aber jetzt bekomme ich einen Fehler beim Start von 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"

Und ich verstehe nicht, wie es geht oder was das Problem ist.

Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage