ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

переключение между версиями сайта


  • To: nginx-ru@xxxxxxxxx
  • Subject: переключение между версиями сайта
  • From: "Nikolay" <nginx-forum@xxxxxxxx>
  • Date: Tue, 25 Jun 2013 09:31:02 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=GtSkNR7sWvijY+cdmUkLWuY/B0bgwve7T2muMs5XVNo=; b=OActku0/VwmcQ+/eMvnJvZ42Zxv/KBa0JOBT4ZimD1B9mOzvxgZk2zuYEQy7J8vpDONmpZIZP9R21CuBwe1Hh58IbrMOEeCtjwjR9a2NEvpAYTABRnJFjFJdp+gXS8nS0c5V2tloMo5JWEHYg8PaXxPPyffvjfLKZmrTvJ3Atvs=;

Есть обычная и моюильная версии сайта, необходимо сделать так, чтобы
мобильные клиенты автоматически заворачивались на мобильную версию, но имели
возможность нажать кнопку "Полная версия" (https://domain.tld/?full) и
перейти на полную версию. Так же необходимо чтобы они могли нажать кнопку
"Мобильная версия" (https://domain.tld/?mobile) и перейти на мобильную.
Делаю так:

   server {
        listen *:80;
        server_name domain.tld;
        access_log /var/log/nginx/http-domain.tld-access main ;
        location / {
                if ($scheme = "http"){
                        rewrite ^(.*) https://$host$1 permanent;
                }
                }
        }

   server {
...
...
...
#mobile redirect
        if ($http_user_agent ~* "(Chrome|acers100|android|archos5|blackberry9500|blackberry9530|blackberry9550|blackberry9800|cupcake|docomo\ ht\-03a|dream|htc\ hero|htcmagic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|kindle|lg\-gw620|liquidbuild|maemo|mot\-mb200|mot\-mb300|nexus\ one|nokia|operamini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobilemytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos)" ) {
        set $mobile 1;
    }

    set $mobile_cookie "";
    if ($query_string ~ "full") {
        set $mobile_cookie "mobile=off;path=/";
        set $mobile 0;
    }
    if ($query_string ~ "mobile") {
        set $mobile_cookie "mobile=on;path=/";
        set $mobile 1;
    }
    add_header Set-Cookie $mobile_cookie;

    if ($cookie_mobile = 'off') {set $mobile 0;}

    if ($cookie_mobile = 'on') {set $mobile 1;}

    if ($mobile = '1') {
        rewrite ^(.*) http://m.domain.tld$1 permanent;
    }
#end of mobile redirect

        location / {
                        proxy_pass   http://1.1.1.1:80;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                }

    }


Но в этом варианте такой переход работает только после того как я нажимаю
кнопку с выбором версии (https://domain.tld/?mobile или
https://domain.tld/?full) два раза. В чем моя ошибка? Как правильно
организовать такие переходы?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,240333,240333#msg-240333

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.