Apache 有 mod_negotiation 扩展用于多语言处理。这里不详细探讨 Apache 的配置(下文有简述),只说 Nginx 的处理方式。
例如,存在某 .var 文件,内容如下:URI: aboutus.html.ru
Content-language: ru
Content-type: text/html; charset=iso-8859-5
URI: aboutus.html.zh-CN
Content-language: zh-CN
Content-type: text/html; charset=utf-16
当客户端不同语言时,返回不同页面。
nginx 中也需要这么做。
以 FPC 多国语言站点为例子:
fpc.html 为默认页面,fpc.html.zh-CN 为中文页面,以此等等。
1、mime.types 增加
在 text/html 中 新增,bg en fi fr id it nl po sl ru zh-CN;
用于手动输入这些文件时,可以直接查看。
2、在vhost 站点文件中,server 同级添加:
用于设置 $lang 变量,标识访者语言。# set fpc lang
map $http_accept_language $lang {
default en;
~*^en en;
~*^fi fi;
~*^fr fr;
~*^id id;
~*^it it;
~*^nl nl;
~*^pl po;