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

 2023-12-25  阅读 2  评论 0

摘要:在需要更换了博客空间后,才发现许多文章页再次出现404的情况,找了再看看原因,才发现是因此URL含有中文而Nginx系统默认不支持中文URL可能导致的。此文记录了解决方法。 在Apache中,要基于对中文的支持是需要另外运行程序中文模块,而Nginx是支持多种编码不不需要完全安装

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

在需要更换了博客空间后,才发现许多文章页再次出现404的情况,找了再看看原因,才发现是因此URL含有中文而Nginx系统默认不支持中文URL可能导致的。此文记录了解决方法。

在Apache中,要基于对中文的支持是需要另外运行程序中文模块,而Nginx是支持多种编码不不需要完全安装以外组件的,只不过是默认是走UTF-8的支持路线。这里能提供两种方法实现程序Nginx对中文URL的支持。

方法一

利用convmv对文件名转码

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

这里以CentOS为例,那些系统同理。

安装convmv

yum-yinstallconvmv

转码

convmv-fGBK-tUTF8-r--notesttarget

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

方法二

你要改Nginx站点配置文件,可以修改编码为UTF-8。

系统区域语言设置

#vi/etc不停车收费/sysconfig/i18n

加入到

LANG="que_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

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

更改Nginx设置

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

charsetutf-8;

如:

server{

listen80;

servername;

root/www;

indexindex.htmlindex.jsp;

charsetutf-8;

...

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

版权声明:xxxxxxxxx;

原文链接:https://lecms.nxtedu.cn/yunzhuji/139358.html

发表评论:

验证码

管理员

  • 内容1196554
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 LECMS Inc. 保留所有权利。 Powered by LECMS 3.0.3

页面耗时0.0110秒, 内存占用336.41 KB, 访问数据库18次