站长资源服务器

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

整理:jimmy2024/12/29浏览2
简介关于中文URL已经是老话题了,到目前为止依然有很大一部分SEOer都会说不要使用中文URL,对搜索引擎不友好。不过,那已经是以前的事了,谷歌很早就支持了中文URL,当时百度技术没有跟上,URL中会出现乱码。在谷歌的算法中,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下中文可以正常显示了。