переключение между версиями сайта
Nikolay
nginx-forum at nginx.us
Tue Jun 25 13:31:02 UTC 2013
Есть обычная и моюильная версии сайта, необходимо сделать так, чтобы
мобильные клиенты автоматически заворачивались на мобильную версию, но имели
возможность нажать кнопку "Полная версия" (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|acer\
s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|blackberry\
9800|cupcake|docomo\ ht\-03a|dream|htc\ hero|htc\
magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|kindle|lg\-gw620|liquid\
build|maemo|mot\-mb200|mot\-mb300|nexus\ one|nokia|opera\
mini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\
mytouch\ 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