Nginx根据User Agent动态配置root目录适配移动端

不同的在终端(移动端和PC端)请求同一个url,需要访问两个不同的目录,这个需求通过Nginx判断User Agent类型来动态配置root目录路径可以方便的实现。

配置代码:

# 根据 User Agent 来判断浏览器类型
map http_user_agentis_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
mapis_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,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。

Scroll to top