200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Html页面配置多国语言 Nginx 页面多国语言处理

Html页面配置多国语言 Nginx 页面多国语言处理

时间:2020-12-30 10:28:21

相关推荐

Html页面配置多国语言 Nginx 页面多国语言处理

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;

~*^sl sl;

~*^ru ru;

~*^zh zh-CN;

}

3、server 内添加,用于访问 .var 文件时,指向到 .html 文件。# fpc site .var file reads national language

if ($uri ~ ^/(.*)\.var$) {

set $new_url $1;

rewrite /.* /$new_url.html.$lang break;

}

rewrite 不能与 map 变量同时使用问题,此问题在官方已确认,设计上,确实如此。

参见 :map regex matching affects rewrite directive。

4、之后,重载 或 重启 nginx。

5、至此完毕。

访问 即可看到效果。

另外,说下 Apache 的配置,很简单:

1、启用扩展

Apache 配置文件 httpd.conf 中,找到 mod_negotiation.so 并取消注释,以开启扩展。

2、添加 MIME 类型

在 mime.types 文件中,添加一行:application/x-type-map var

3、重启 Apache

这样,访客在访问 .var 页面时通过浏览器语言返回不同的页面。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。