首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >配置Nginx根据浏览器类型有条件地提供静态内容

配置Nginx根据浏览器类型有条件地提供静态内容
EN

Stack Overflow用户
提问于 2019-06-27 19:29:22
回答 2查看 294关注 0票数 1

我有两个静态内容包,分别名为" esc6“和" esc5”,用于支持esc6和esc5的浏览器。我应该如何编写nginx.conf文件,以便根据$http_user_agent值有条件地切换location指令。

Ex伪代码:

如果$http_user_agent包含"chrome || firefox || safari“,则esc6-bundle否则esc5-bundle

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-27 20:13:47

您应该使用map指令。详情请参见this document

例如:

代码语言:javascript
运行
复制
map $http_user_agent $bundle {
    default         /js/esc5-bundle.js;
    ~*Chrome        /js/esc6-bundle.js;
    ~*Firefox       /js/esc6-bundle.js;
    ~*Safari        /js/esc6-bundle.js;
}

server {
    ...
    location = /js/bundle.js {
        try_files $bundle =404;
    }
    ...
}
票数 3
EN

Stack Overflow用户

发布于 2019-06-27 20:01:46

在Nginx配置中尝试

代码语言:javascript
运行
复制
  location / {
      if (($http_user_agent ~ "Chrome") || $http_user_agent ~ "firefox" ) || {
          rewrite ^ esc6-bundle ;
      }
      rewrite ^ esc5-bundle ;
   }

希望它能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56790049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档