Nginx下無法使用中文URL的解決方法
前言
最近更換了博客空間后,發(fā)現(xiàn)許多文章頁出現(xiàn)404的情況,找了一下原因,發(fā)現(xiàn)是由于URL含有中文而Nginx默認不支持中文URL導致的。此文記錄了解決方法。
在Apache中,要實現(xiàn)對中文的支持需要單獨加載中文模塊,而Nginx是支持多種編碼不需要安裝其他組件的,只是默認是走UTF-8的支持路線。這里提供兩種方法實現(xiàn)Nginx對中文URL的支持。
方法一
利用convmv對文件名轉碼
此方法治標不治本,僅供緊急時候使用(訪問量大時間段,無法對服務器進行重啟操作的時候)。
這里以CentOS為例,其他系統(tǒng)同理。
安裝convmv
yum -y install convmv
轉碼
convmv -fGBK -tUTF8 -r --notest target
其中-f是源編碼,-t是目標編碼,-r是遞歸處理目錄,–notest是不移動,實際上對文件進行改名,target是目標目錄。
方法二
更改Nginx站點配置文件,修改編碼為UTF-8。
系統(tǒng)區(qū)域語言設置
# vi /etc/sysconfig/i18n
加入
LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
并重啟系統(tǒng)(如果沒有此文件則創(chuàng)建)
更改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 + Tomcat 反向代理 負載均衡 集群 部署指南
Nginx是一種服務器軟件,也是一種高性能的http和反向代理服務器,本篇文章主要介紹了Nginx + Tomcat 反向代理 負載均衡 集群 部署指南,有興趣的可以了解一下。2016-12-12
Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實現(xiàn)
本文主要介紹了Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-08-08
在Linux中查看Apache或Nginx服務狀態(tài)的詳細步驟
在Linux中,查看Apache或Nginx服務的狀態(tài)通常涉及到使用系統(tǒng)管理工具或特定于這些Web服務器的命令,以下是如何查看Apache和Nginx服務狀態(tài)的詳細步驟,需要的朋友可以參考下2024-03-03
由于Nginx配置文件問題導致打不開網站unknown directive的解決
這篇文章主要介紹了由于Nginx配置文件問題導致打不開網站unknown directive,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

