Nginx下使用不了中文URL是什么情况?

Admin 2021-04-10 群英行业资讯

在更换了博客空间后,发现许多文章页出现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。

标签: nginx配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部