现在的位置: 首页Nginx>正文
nginx使用rewrite配置多语言页面 [原创]
2011年08月16日 Nginx 评论关闭 ⁄ 被围观 9,688 次+

当我们打开很多网站时,可能大家会发现,它会根据你使用的语言自动判断并跳转到不同的语言界面。例如:Google 也就是你用不同的语言,那么输入Google首页就可以自动转向你使用的语言。在这个网络普及的时代,外贸的主要途径一定是网络。也许你的企业网站既有中文版本,同时也有英文版本(如果你的公司有外贸业务)。那么他们的网站是怎样实现这个功能呢?下面我们来研究下Web服务器的Header,HTTP_ACCEPT_LANGUAGE是服务器所接收的语言,一般来说是服务器的语言。在网站可以看到,firefox在安装多个语言包的时候,会发送多个语言信息,但是首选的肯定是在第一个。

在比如:如果有中国人用了英文浏览器,那就是跳转到英文。但是还可以在不同语言版本的网站上提供语言选项,让他们自己跳转过去。当然我们可以用正则表达式判断是否包含“zh”,因为不管是简体中文还是繁体中文发送过来的信息前两个字母肯定是“zh”的,下面仅仅是中文和英文两个版本的介绍:

  1. location /   
  2. {   
  3.     set $lang zh_CN;   
  4.     if ($http_accept_language ~* ^zh-tw)   
  5.     {   
  6.         set $lang zh_TW;   
  7.         rewrite ^/$ /index_zh_TW.html redirect;   
  8.     }   
  9.   
  10.     if ($http_accept_language ~* ^en)   
  11.     {   
  12.         set $lang en_US;   
  13.         rewrite ^/$ /index_en_US.html redirect;   
  14.     }   
  15. }  

缺省index.html是简体中文的,一旦遇到首选繁体和英文,就重定向到正确的页面。仅针对首页静态页面。

本文地址:http://www.92csz.com/02/907.html
如非注明则为本站原创文章,欢迎转载。转载请注明转载自:moon's blog
 

抱歉!评论已关闭.