当前位置 主页 > 服务器问题 > nginx问题汇总 >

Nginx下解决无法使用中文URL的方法

栏目:nginx问题汇总 时间:2018-12-19 10:46

  前言
  最近更换了博客空间后,发现许多文章页出现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。
缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全