Nginx下无法使用中文URL的解决方法
2017-10-13 10:12
483 查看
前言
最近更换了博客空间后,发现许多文章页出现404的情况,找了一下原因,发现是由于URL含有中文而Nginx默认不支持中文URL导致的。此文记录了解决方法。
在Apache中,要实现对中文的支持需要单独加载中文模块,而Nginx是支持多种编码不需要安装其他组件的,只是默认是走UTF-8的支持路线。这里提供两种方法实现Nginx对中文URL的支持。
方法一
利用convmv对文件名转码
此方法治标不治本,仅供紧急时候使用(访问量大时间段,无法对服务器进行重启操作的时候)。
这里以CentOS为例,其他系统同理。
安装convmv
?
转码
?
其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名,target是目标目录。
方法二
更改Nginx站点配置文件,修改编码为UTF-8。
系统区域语言设置
?
加入
?
并重启系统(如果没有此文件则创建)
更改Nginx设置
编辑站点的Nginx配置文件,在sever中添加
?
如:
?
同时需要将FTP与shell工具的字符集设置为UTF-8。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
原文链接:https://www.iots.vip/post/nginx-chinese-url.html
最近更换了博客空间后,发现许多文章页出现404的情况,找了一下原因,发现是由于URL含有中文而Nginx默认不支持中文URL导致的。此文记录了解决方法。
在Apache中,要实现对中文的支持需要单独加载中文模块,而Nginx是支持多种编码不需要安装其他组件的,只是默认是走UTF-8的支持路线。这里提供两种方法实现Nginx对中文URL的支持。
方法一
利用convmv对文件名转码
此方法治标不治本,仅供紧急时候使用(访问量大时间段,无法对服务器进行重启操作的时候)。
这里以CentOS为例,其他系统同理。
安装convmv
?
?
方法二
更改Nginx站点配置文件,修改编码为UTF-8。
系统区域语言设置
?
?
更改Nginx设置
编辑站点的Nginx配置文件,在sever中添加
?
?
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
原文链接:https://www.iots.vip/post/nginx-chinese-url.html
相关文章推荐
- Nginx下无法使用中文URL的解决方法
- 配置NGINX支持中文URL 中文文件名或目录404无法访问的解决方法
- Java代码中使用response.redirect(url)方法,无法获取到中文的解决方法
- 配置NGINX支持中文URL 中文文件名称或文件夹404无法訪问的解决方法
- Ubuntu使用集成开发环境QT无法输入中文的解决方法
- java中调用Js的方法 & java.net.Url的使用 & Url中文乱码的解决 & Map 排序
- Python 爬虫 URL中存在中文或特殊符号无法请求的解决方法
- Ubuntu12.04下无法使用中文输入法的解决方法
- 【081】使用Nginx的官方Docker镜像,启动容器后无法显示自己网站页面,总显示Nginx官方默认页面的问题的解决方法
- 关于使用jdbc连接服务器MySQL无法使用中文查询的解决方法
- A Script Pro nginx URL重写规则无法播放MP4解决方法
- 使用UrlRewritingNet重写url以.html的伪静态页面后,真实的.html无法访问的解决方法
- 解决fedora下intellij idea中无法使用中文fcitx的解决方法
- PL/SQL无法使用中文条件查询解决的两种方法
- 分享解决方法:为什么QQ聊天框中无法使用输入法输入中文?
- jsp 中使用url传值的中文乱码解决方法
- LNMP下Nginx 中文文件名或目录404无法访问的解决方法
- 用MyEclips和Tomcat建立web项目无法使用中文-解决方法
- Ubuntu使用集成开发环境QT无法输入中文的解决方法
- 解决URL中有中文的问题,可以放心使用url.opnestream方法