我需要根据用户代理将流量重定向到一个后端或另一个后端。这是正确的做法吗?
server {
listen 80;
server_name my_domain.com;
if ($http_user_agent ~ iPhone ) {
rewrite ^(.*) https://m.domain1.com$1 permanent;
}
if ($http_user_agent ~ Android ) {
rewrite ^(.*) https://m.domain1.com$1 permanent;
}
if ($http_user_agent ~ MSIE ) {
rewrite ^(.*) https://domain2.com$1 permanent;
}
if ($http_user_agent ~ Mozilla ) {
rewrite ^(.*) https://domain2.com$1 permanent;
}
}
Run Code Online (Sandbox Code Playgroud)
kol*_*ack 14
如果您使用的是 0.9.6 或更高版本,则可以使用带有正则表达式的映射(1.0.4 或更高版本可以使用 ~* 而不是仅使用 ~ 来使用不区分大小写的表达式):
http {
map $http_user_agent $ua_redirect {
default '';
~(iPhone|Android) m.domain1.com;
~(MSIE|Mozilla) domain2.com;
}
server {
if ($ua_redirect != '') {
rewrite ^ https://$ua_redirect$request_uri? permanent;
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20598 次 |
最近记录: |