Настройка nginx для перенаправления мобильных пользователей - PullRequest
7 голосов
/ 29 января 2010

Я хочу, чтобы мой веб-сайт перенаправлял мобильных пользователей с mydomain.com на m.mydomain.com (если они специально не попросили посетить немобильный сайт).

Я делал это в своем приложении, используя WURFL, но я хочу включить кэширование страниц. Если кэширование страниц включено, приложение никогда не получит информацию о перенаправлении мобильного пользователя, поэтому для этого мне нужен nginx.

В Apache есть такие модули, как Apache Mobile Filter, которые используют WURFL.

Есть ли хороший способ обнаружить мобильный браузер в nginx? Я бы предпочел не просто придумывать регулярные выражения пользовательского агента, поскольку существует так много различных мобильных пользовательских агентов, которые постоянно меняются.

1 Ответ

4 голосов
/ 08 февраля 2010

Не думаю, что для этого есть специальный nginx core или сторонний модуль. Так как в любом случае любой модуль просто тестировал бы user-agent, я не могу представить, чтобы кто-то создавал модуль для этой конкретной цели.

Тем не менее, должно быть относительно просто настроить проверку user-agent и перенаправление. Возможно, вы предпочтете явно проверить Gecko / IE / webkit / opera и перенаправить все остальное на свой мобильный сайт - таким образом вы будете поддерживать меньшее регулярное выражение ua, плюс вам будет необходимо мобильное сафари (iPhone / iPod Нажмите), оставив их на своем главном веб-сайте. Это простой шаг в специальном случае для этого браузера, если вы захотите.

Кроме того, вы должны иметь возможность проверять содержимое файлов cookie в своей конфигурации nginx, чтобы решить, следует ли выполнять перенаправление на основе предпочтений агента пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...