2016-09-19 4 views

ответ

0

Это очень легко, и я уже реализовал это. Вы можете проверить wittyfeed.com, он обслуживает разные файлы для мобильных и настольных компьютеров.

Это может быть сделано как следует,

http { 
    .... 
    map $http_user_agent $ind { 
     "~*mobile" a.html; 
     default b.html; 
    } 


    server { 
     ... 
     index $ind; 
     ... 
     location/{ 
      try_files $uri $uri/ $ind; 
     } 
    } 
} 

Приведенный выше код работает как, он устанавливает значение переменной $ отра как a.html если поступает запрос с мобильного телефона или b.html иначе. Затем, соответственно, он пытается извлечь файл. :)

Отредактировано w.r.t. комментарий ниже, * не тестировалось,

http { 
    ... 
    map $http_user_agent $proxy_addr { 
     "~*mobile" test-qa.firebaseapp.com/mobile; 
     default localhost:8080/test/jsp/index.jsp; 
    } 

    server { 
     ... 
     location /test { 
     proxy_pass $proxy_addr; 
     } 
    } 
} 
+0

Thanx для ответа, мои два файла на другом сервере, так что можно достичь same.if да, то как –

+0

да это возможно, вы можете использовать proxy_pass, например, location/{proxy_pass server_address/$ ind; } – Satys

+0

В настоящее время у меня есть, как этот HTTP { } сервер { слушать \t \t 80; имя_сервера dev.example.com; \t \t root/usr/local/tomcat7/webapps/ROOT; местоположение/испытание { \t \t \t proxy_pass http://127.0.0.1:8080; \t \t \t proxy_read_timeout 900; \t \t} } У меня есть приложение в Java, который runnung на порту 8080 и я хочу, чтобы, когда пользователь приходит с рабочего стола, то страница будет служить от Java, имеющего порт 8080 (локальный: 8080/тест/Jsp /index.jsp), и если пользователь приходит с мобильного, тогда страница будет обслуживать с этого URL-адреса https://test-qa.firebaseapp.com/mobile/ –

Смежные вопросы