可以使用 Nginx 的 map 模块在服务器端根据客户端设备信息进行跳转。
具体操作如下:
定义一个 map 变量,该变量根据 User-Agent 字段判断客户端设备类型:
map $http_user_agent $device_redirect {
default "desktop";
~*(mobile|android) "mobile";
}
使用 if 语句对该变量进行判断,如果是移动设备则进行跳转:
server {
if ($device_redirect = "mobile") {
return 302 https://m.example.com$request_uri;
}
...
}