使Nginx服务器支持中文URL的相关配置详解

关于中文URL已经是老话题了,到目前为止依然有很大一部分SEOer都会说不要使用中文URL,对搜索引擎不友好。

不过,那已经是以前的事了,谷歌很早就支持了中文URL,当时百度技术没有跟上,URL中会出现乱码。

在谷歌的算法中,URL包含关键字是会给页面赋予一定权重的,英文是,中文也是,朽木猜测百度之前没有给予中文URL权重,可能是因为识别的问题。

经过一些简单的测试,朽木发现中文URL中包含关键字,对百度SEO有很积极的影响。

不过需要注意的是最好使用UTF8编码,虽然百度有了“一定的识别能力”,不过不保证五花八门的编码不会出问题。

在百度搜索结果中显示了中文的URL,但是点开之后地址栏显示的依然惨不忍睹,个人感觉除了做长尾外,还是尽量避免使用中文URL。当然如果不在乎这个的话,不如整站切换成中文URL,你会有意想不到的收获。

下面我们就来具体看一下使Nginx支持中文url的相关配置:

NGINX不需要象apache那样要单独加载支持中文模块。

  # cat /etc/sysconfig/i18n   LANG="en_US.UTF-8"  SYSFONT="latarcyrheb-sun16"  

如果没有i18n则创建,重启系统。

服务器端字符集如下

  # locale  LANG=en_US.UTF-8  LC_CTYPE=”en_US.UTF-8″  LC_NUMERIC=”en_US.UTF-8″  LC_TIME=”en_US.UTF-8″  LC_COLLATE=”en_US.UTF-8″  LC_MONETARY=”en_US.UTF-8″  LC_MESSAGES=”en_US.UTF-8″  LC_PAPER=”en_US.UTF-8″  LC_NAME=”en_US.UTF-8″  LC_ADDRESS=”en_US.UTF-8″  LC_TELEPHONE=”en_US.UTF-8″  LC_MEASUREMENT=”en_US.UTF-8″  LC_IDENTIFICATION=”en_US.UTF-8″  LC_ALL=  

在nginx.conf文件里配置的字符集也是utf-8

  server {  listen 80;  server_name test.cn;  root /data;  index index.html index.jsp;  charset utf-8;  ……  

客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。

参与评论