Nginx下無法使用中文URL的解決方法
前言
最近更換了博客空間后,發(fā)現(xiàn)許多文章頁出現(xiàn)404的情況,找了一下原因,發(fā)現(xiàn)是由于URL含有中文而Nginx默認(rèn)不支持中文URL導(dǎo)致的。此文記錄了解決方法。
在Apache中,要實現(xiàn)對中文的支持需要單獨加載中文模塊,而Nginx是支持多種編碼不需要安裝其他組件的,只是默認(rèn)是走UTF-8的支持路線。這里提供兩種方法實現(xiàn)Nginx對中文URL的支持。
方法一
利用convmv對文件名轉(zhuǎn)碼
此方法治標(biāo)不治本,僅供緊急時候使用(訪問量大時間段,無法對服務(wù)器進(jìn)行重啟操作的時候)。
這里以CentOS為例,其他系統(tǒng)同理。
安裝convmv
yum -y install convmv
轉(zhuǎn)碼
convmv -fGBK -tUTF8 -r --notest target
其中-f是源編碼,-t是目標(biāo)編碼,-r是遞歸處理目錄,–notest是不移動,實際上對文件進(jìn)行改名,target是目標(biāo)目錄。
方法二
更改Nginx站點配置文件,修改編碼為UTF-8。
系統(tǒng)區(qū)域語言設(shè)置
# vi /etc/sysconfig/i18n
加入
LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
并重啟系統(tǒng)(如果沒有此文件則創(chuàng)建)
更改Nginx設(shè)置
編輯站點的Nginx配置文件,在sever中添加
charset utf-8;
如:
server{
listen 80;
servername www.iots.vip;
root /www;
index index.html index.jsp;
charset utf-8;
...
同時需要將FTP與shell工具的字符集設(shè)置為UTF-8。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
服務(wù)器部署之虛擬機(jī)安裝nginx并部署web網(wǎng)頁
本文提供了一個關(guān)于Nginx的安裝與配置的簡單入門教程,涵蓋從安裝所需插件(如gcc、zlib、pcre、openssl等),到下載、解壓、編譯安裝Nginx的完整過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
詳解Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南
Nginx是一種服務(wù)器軟件,也是一種高性能的http和反向代理服務(wù)器,本篇文章主要介紹了Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南,有興趣的可以了解一下。2016-12-12
Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實現(xiàn)
本文主要介紹了Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
在Linux中查看Apache或Nginx服務(wù)狀態(tài)的詳細(xì)步驟
在Linux中,查看Apache或Nginx服務(wù)的狀態(tài)通常涉及到使用系統(tǒng)管理工具或特定于這些Web服務(wù)器的命令,以下是如何查看Apache和Nginx服務(wù)狀態(tài)的詳細(xì)步驟,需要的朋友可以參考下2024-03-03
由于Nginx配置文件問題導(dǎo)致打不開網(wǎng)站unknown directive的解決
這篇文章主要介紹了由于Nginx配置文件問題導(dǎo)致打不開網(wǎng)站unknown directive,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

