!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>Nginx下无法使用中文URL的解决方法

Nginx下无法使用中文URL的解决方法

在更换了博客空间后,发现许多文章页出现404的情况,找了一下原因,发现是由于URL含有中文而Nginx默认不支持中文URL导致的。此文记录了解决方法。

在Apache中,要实现对中文的支持需要单独加载中文模块,而Nginx是支持多种编码不需要安装其他组件的,只是默认是走UTF-8的支持路线。这里提供两种方法实现Nginx对中文URL的支持。

方法一

利用convmv对文件名转码

此方法治标不治本,仅供紧急时候使用(访问量大时间段,无法对服务器进行重启操作的时候)。

这里以CentOS为例,其他系统同理。

安装convmv

yum -y install convmv

转码

convmv -fGBK -tUTF8 -r --notest target

其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名,target是目标目录。

方法二

更改Nginx站点配置文件,修改编码为UTF-8。

系统区域语言设置

# vi /etc/sysconfig/i18n

加入

LANG=\"en_US.UTF-8\"

SYSFONT=\"latarcyrheb-sun16\"

并重启系统(如果没有此文件则创建)

更改Nginx设置

编辑站点的Nginx配置文件,在sever中添加

charset utf-8;

如:

server{

listen 80;

servername www.iots.vip;

root /www;

index index.html index.jsp;

charset utf-8;

...

同时需要将FTP与shell工具的字符集设置为UTF-8。

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

云服务器:域名怎么301重定向

2021-4-17 21:35:38

服务器教程

win10系统电脑远程桌面连接服务器方法

2021-4-17 21:36:10

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase