2010-01-29 5 views
7

Ich möchte, dass meine Website mobile Benutzer von mydomain.com auf m.mydomain.com umleitet (es sei denn, sie haben ausdrücklich darum gebeten, die nicht mobile Website zu sehen).Nginx einrichten, um mobile Benutzer umzuleiten

Ich habe dies in meiner Anwendung mit WURFL, aber ich möchte Seitencache aktivieren. Wenn das Seiten-Caching aktiviert ist, wird die Anwendung nie erreicht werden, um den mobilen Benutzer umzuleiten, und deshalb brauche ich nginx, um dies zu tun.

Apache hat Module wie Apache Mobile Filter, die WURFL verwenden.

Gibt es eine gute Möglichkeit, einen mobilen Browser in Nginx zu erkennen? Ich möchte nicht einfach einen User-Agent-Regex entwickeln, da es so viele verschiedene Mobile-User-Agenten gibt, die sich ständig ändern.

Antwort

4

Ich glaube nicht, dass es ein dediziertes nginx core oder third-party Modul dafür gibt. Da jedes Modul einfach die user-agent testen würde, kann ich mir nicht vorstellen, dass jemand ein Modul für diesen speziellen Zweck erstellt.

Es sollte jedoch relativ einfach sein, eine Überprüfung der user-agent und Umleitung einzurichten. Sie sollten es vorziehen, explizit nach Gecko/IE/webkit/opera zu suchen und alles andere auf Ihre mobile Website umzuleiten - auf diese Weise behalten Sie einen kleineren Regex bei und Sie kümmern sich um die mobile Safari (iPhone/iPod) Berühren Sie), indem Sie sie auf Ihrer Hauptwebsite halten. Es ist dann ein einfacher Schritt zum Spezialfall für diesen Browser, sollten Sie es wünschen.

Darüber hinaus sollten Sie in der Lage sein, Cookie-Inhalte in Ihrer Nginx-Konfiguration zu überprüfen, um zu entscheiden, ob basierend auf den Benutzer-Agent-Einstellungen umgeleitet werden soll.

+7

http://detectmobilebrowsers.com/ ist immer eine gute Ressource. Sie haben auch ein Snippet für Nginx – bjunix

+0

@unpluggd dies nie tun. Leite niemanden auf die mobile Website um. Dies wird zu großen SEO-Problemen führen. war dort das getan und wurde geschraubt :( – MarutiB