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
|