Configuración de Servidor Web

Para este ejemplo se utilizará un servidor web nginx. La configuración del sitio debe ser parecida a la siguiente:

server {
    listen 192.168.14.20:80;
    server_name ejemplo.cl www.ejemplo.cl;
    root /var/www/ejemplo.cl/web;
    index index.html;

    error_log /var/wlog/ejemplo.cl/nginx-error.log;
    access_log /var/wlog/ejemplo.cl/access-nginx.log;

    client_max_body_size 50M;

    location ~ \.php {
        include global/php.conf;
    }

    include global/restrictions.conf;
    include global/multivistas.conf;
    include global/prontus.conf;

}

Es importante que el orden de los includes sea el indicado acá para el correcto funcionamiento de la multivista, debido que en “multivistas.conf” se definen variables utilizadas en la siguiente configuración.

El archivo multivistas.conf debe poseer la siguiente configuración:

if ($http_user_agent ~* '(Mobile|BlackBerry|Opera Mini|Opera/9\.50|PalmSource|Palm|Ericsson|lg-|MOT-|Motorola|Nokia|Sony CMD|Panasonic|PHILIPS|SAMSUNG|sec-|Sanyo|Siemens|Samsung|Philips|Rainbow|AvantGo|DoCoMo|Vodafone|J-PHONE|DDIPOCKET|PDXGW|ASTEL|PalmOS|Blazer|Windows CE|Minimo|Plucker|PalmSource|NetFront|iPhone|iPAQ|Symbian|UP.Link|Google Wireless Transcoder|iPod)') {
   set $vista '-movil';
}
 
if ($http_user_agent ~* ipad) {
   set $vista '';
}
 
if ($http_cookie ~* "vista=es") {
   set $vista '-es';
}
 
if ($http_cookie ~* "vista=en") {
   set $vista '-en';
}
 
if ($http_cookie ~* "vista=pt") {
   set $vista '-pt';
}
 
if ($http_cookie ~* "vista=de") {
   set $vista '-de';
}
 
if ($http_cookie ~* "vista=fr") {
   set $vista '-fr';
}
 
if ($http_cookie ~* "vista=movil") {
   set $vista '-movil';
}
 
if ($http_cookie ~* "vista=normal") {
   set $vista '';
}

La primera condición define que si el navegador es móvil, cambia a la versión móvil. En el caso que se esté navegando desde un ipad, muestra la versión de escritorio. Las siguientes condiciones definen el caso que el sitio posea múltiples idiomas.