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。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
通过Nginx搭建Tomcat9集群并实现Session共享
这篇文章主要介绍了通过Nginx搭建Tomcat9集群并实现Session共享,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-06-06Windows系统下Nginx服务器的基本安装和配置方法介绍
这篇文章主要介绍了Windows系统下Nginx服务器的基本安装和配置方法,文中给出了一个配置文件的实例并作出了些说明,需要的朋友可以参考下2015-12-12PHP开发框架kohana3.3.1在nginx下的伪静态设置例子
这篇文章主要介绍了PHP开发框架kohana3.3.1在nginx下的伪静态设置例子,kohana曾经是codeigniter框架的衍生版,后来发展成另一个独立的PHP5开发框架,需要的朋友可以参考下2014-07-07Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
这篇文章主要介绍了Nginx流量拷贝,Nginx专门提供了ngx_http_mirror_module模块,用来实现流量拷贝。将生产环境的流量拷贝到预上线环境或测试环境2022-04-04Nginx中使用gzip_http_version解决CDN只支持http 1.0问题
这篇文章主要介绍了Nginx中使用gzip_http_version解决CDN只支持http 1.0问题,问题原因是在Header信息中看到Transfer-Encoding: chunked,使用本文方法就可以解决这个问题,需要的朋友可以参考下2014-09-09
最新评论