Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (3)
  • Как сделать редирект на мобильную версию сайта в nginx?

    @IvanShatsky
    Очевидно, что запросы к example.com и m.example.com для подобной конфигурации надо обрабатывать в разных блоках server (иначе получим бесконечный цикл переадресации):

    server {
        server_name example.com;
        root /var/www/html;
    
        set $mobile_redirect 0;
        # Условие, которое здесь надо записать, смотрим на http://detectmobilebrowsers.com/
        if (...) {
            set $mobile_redirect 1;
        }
        if ($mobile_redirect) {
            # Не нужен здесь rewrite и лишний вызов libpcre, достаточно return
            return 301 https://m.example.com$request_uri;
        }
        location ^~ /mobile/ {
            # Не надо из основного домена ходить в папку mobile
            internal;
        }
    
        # остальная конфигурация
        ...
    }
    server {
        server_name m.example.com;
        root /var/www/html/mobile;
        ...
    }
    Ответ написан
    Комментировать