在需要更换了博客空间后,才发现许多文章页再次出现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;
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态