不同的在终端(移动端和PC端)请求同一个 url
,需要访问两个不同的目录,这个需求通过 Nginx
判断 User Agent
类型来动态配置 root
目录路径可以方便的实现。
配置代码:
# 根据 User Agent 来判断浏览器类型
map $http_user_agent $is_desktop {
default 0;
~*linux.*android|windows\s+(?:ce|phone) 0; # exceptions to the rule
~*spider|crawl|slurp|bot 1; # bots
~*windows|linux|os\s+x\s*[\d\._]+|solaris|bsd 1; # OSes
}
# 根据浏览器类型来定义$web_root
map $is_desktop $web_root {
1 /opt/wwwroot/project/pc/dist;
0 /opt/wwwroot/project/m/dist;
}
# 配置root为$web_root
server {
....
server_name project.com;
root $web_root;
...
}
注释上写出了配置的三个步骤,动态配置项目 root
目录路径就实现了,当你在PC端访问域名时,会加载 /pc
子目录下的项目,移动端则会加载 /m
目录下的项目,而不需要更换 url
,很方便。
参考:Nginx dynamic location depending on device used
标题:Nginx根据User Agent动态配置root目录适配移动端
原文链接:https://beltxman.com/2732.html
若无特殊说明本站内容为 行星带 原创,未经同意请勿转载。