2010-01-29 10 views
7

Desidero che il mio sito web reindirizzi gli utenti di dispositivi mobili da mydomain.com a m.mydomain.com (a meno che non abbiano chiesto specificamente di vedere il sito non mobile).Impostazione di nginx per reindirizzare gli utenti mobili

Lo stavo facendo nella mia applicazione usando WURFL, ma voglio abilitare il caching delle pagine. Se il caching delle pagine è attivo, l'applicazione non verrà mai raggiunta per sapere di reindirizzare l'utente mobile, quindi ho bisogno di nginx per farlo.

Apache ha moduli come Apache Mobile Filter che utilizzano WURFL.

C'è un buon modo per rilevare un browser mobile in nginx? Preferirei non creare una regex utente-agente poiché ci sono così tanti agenti utente mobili che cambiano continuamente.

risposta

4

Non credo ci sia un modulo dedicato nginx core o third-party per questo. Dal momento che qualsiasi modulo testerebbe semplicemente lo user-agent in ogni caso, non riesco a immaginare nessuno che crei un modulo per questo scopo specifico.

Tuttavia, dovrebbe essere relativamente semplice impostare un controllo su user-agent e reindirizzare. Potresti trovare preferibile controllare Gecko/IE/webkit/opera in modo esplicito e reindirizzare tutto il resto sul tuo sito mobile - in questo modo manterrai una regex più piccola, oltre al catering per il safari mobile (iPhone/iPod Tocca) tenendoli sul tuo sito web principale. È quindi un semplice passaggio a caso speciale per quel browser se lo si desidera.

Inoltre, si dovrebbe essere in grado di controllare i contenuti dei cookie nella propria configurazione di nginx per decidere se effettuare il reindirizzamento in base alle preferenze dell'utente-agente.

+7

http://detectmobilebrowsers.com/ è sempre una buona risorsa. Hanno anche uno snippet per nginx – bjunix

+0

@unpluggd non farlo mai. Non reindirizzare tutti al sito mobile. Ciò porterà a gravi problemi di SEO. stato lì fatto e mi sono fatto sfondare :( – MarutiB

Problemi correlati