nginx 根据浏览器语言分发到不同域名 这样写对不对?

搬瓦工机场JMS

不知道是不是这样写啊   有必要在判断ip么

测试发现这个取的是浏览器第一个语言 而不是浏览器设置的什么语言

  1. location / {
  2.             if ($http_accept_language ~* ^zh)       {
  3.                 set $lang zh_cn;
  4.                 rewrite (.*) https://zh.xxx.com$1 permanent;
  5.                 break;
  6.             }
  7.             if ($http_accept_language ~* ^en)       {
  8.                 set $lang en_us;
  9.                 rewrite (.*) https://en.xxx.com$1 permanent;
  10.                 break;
  11.             }
  12.             if ($http_accept_language ~* ^ja)       {
  13.                 set $lang ja-jp;
  14.                 rewrite (.*) https://ja.xxx.com$1 permanent;
  15.                 break;
  16.             }
  17.         }

复制代码

广西网友:

  1. location / {
  2.             # 用一个不加判断的做默认值
  3.             set $lang zh_cn;
  4.             if ($http_accept_language ~* ^en)       {
  5.                 set $lang en_us;
  6.             }
  7.             if ($http_accept_language ~* ^ja)       {
  8.                 set $lang ja-jp;
  9.             }
  10.             return 301 https://$lang.xxx.com$request_uri;
  11.         }

复制代码

河南网友:大佬 这个 不加判断的做默认值 这个有什么用啊

这个是 英文和日文分别跳到  en_us.xxx.com 和 ja-jp.xxx.com 中文的不跳么

江西网友:我用中文的浏览器就不能看英文的啦?选择权应该交给浏览者.
山西网友:不如做个模板切换呢 除非你要区分地区的客户来开设对应的站点
辽宁网友:
现在所有用户都在一个域名  我想把中文用户 重新分配到一个域名
青海网友:今天梳理甲方站点时候发现人家门户就是不同语言不同域名不同服务器,,
上海网友:这个意思是,英文的跳英文,日文的跳日文,其它的都跳中文。

如果不加默认值,那法文的,德文的来了怎么办?
北京网友:插一句,有个 map 函数挺好用的
http://nginx.org/en/docs/http/ngx_http_map_module.html

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » nginx 根据浏览器语言分发到不同域名 这样写对不对?

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏