2014-11-20 2 views
1

Android 및 iOS 애플리케이션이 있습니다. 동적 인 URI가 있으며이 링크를 사용하는 경우에만 Android 및 iOS 사용자를 nginx를 통해 모바일 애플리케이션으로 직접 리디렉션해야합니다. 그러나 "논리적"또는 "내부 if"없이 처리하는 방법을 이해하지 못합니다.nginx 웹에서 모바일 애플리케이션으로 리디렉션

if ($http_user_agent ~* '(iphone|ipod|nokia|аndroid)') { 
    rewrite^mobile_application://$host$request_id last; 
} 

과 :

set $my_uri sign-up?invitation=$key #this key is dynamical 
if ($request_id = '($my_uri)') { 
     rewrite^mobile_application://$host$request_id last; 
    } 

그래서, 나는 그것을 해결하는 방법을 몰라 내가 알고있는 것처럼

나는 두 가지 조건을 해결해야합니다.

답변

2
set $targeted_mobile no; 
    if ($http_user_agent ~* "android|iphone|ipod") { 
    set $targeted_mobile yes; 
    } 

    location /deep-link/ { 
    if ($targeted_mobile = yes) { 
     rewrite ^/deep-link/(.*) mobile://www.aaa.com/$1 permanent; 
    } 
    rewrite ^/deep-link/(.*) https://$server_name/$1 permanent; 
관련 문제