2010-01-29 9 views
7

Quiero que mi sitio web redirija a los usuarios de dispositivos móviles de mydomain.com a m.midominio.com (a menos que hayan solicitado específicamente ver el sitio que no es para dispositivos móviles).Configuración de nginx para redirigir a los usuarios de dispositivos móviles

Estaba haciendo esto en mi aplicación usando WURFL, pero quiero habilitar el almacenamiento en caché de páginas. Si el almacenamiento en caché de páginas está activado, nunca se llegará a la aplicación para saber que se debe redirigir al usuario móvil, por lo que necesito nginx para hacerlo.

Apache tiene módulos como Apache Mobile Filter que hacen uso de WURFL.

¿Hay alguna manera de detectar un navegador móvil en nginx? Prefiero no solo encontrar una expresión regular de usuario-agente ya que hay tantos agentes de usuario móvil diferentes que siempre están cambiando.

Respuesta

4

No creo que haya un módulo dedicado nginx core o third-party para esto. Como cualquier módulo simplemente probaría el user-agent de todos modos, no puedo imaginar a nadie creando un módulo para este propósito específico.

Sin embargo, debería ser relativamente simple configurar una comprobación en el user-agent y redirigir. Es posible que prefiera buscar Gecko/IE/webkit/opera de forma explícita y redireccionar todo lo demás a su sitio móvil; de ese modo, mantendrá una ua regex más pequeña, además de que atenderá el safari móvil (iPhone/iPod). Toque) manteniéndolos en su sitio web principal. Es entonces un simple paso para un caso especial para ese navegador si lo desea.

Además, debería poder verificar los contenidos de las cookies en su configuración de nginx para decidir si redirigir en función de las preferencias del agente de usuario.

+7

http://detectmobilebrowsers.com/ es siempre un buen recurso. También tienen un fragmento para nginx – bjunix

+0

@unpluggd nunca hacen esto. No redirija a todos al sitio móvil. Esto conducirá a grandes problemas de SEO. estado allí hecho y se jodió :( – MarutiB

Cuestiones relacionadas