Nginx下無(wú)法使用中文URL的解決方法
前言
最近更換了博客空間后,發(fā)現(xiàn)許多文章頁(yè)出現(xiàn)404的情況,找了一下原因,發(fā)現(xiàn)是由于URL含有中文而Nginx默認(rèn)不支持中文URL導(dǎo)致的。此文記錄了解決方法。
在Apache中,要實(shí)現(xiàn)對(duì)中文的支持需要單獨(dú)加載中文模塊,而Nginx是支持多種編碼不需要安裝其他組件的,只是默認(rèn)是走UTF-8的支持路線。這里提供兩種方法實(shí)現(xiàn)Nginx對(duì)中文URL的支持。
方法一
利用convmv對(duì)文件名轉(zhuǎn)碼
此方法治標(biāo)不治本,僅供緊急時(shí)候使用(訪問量大時(shí)間段,無(wú)法對(duì)服務(wù)器進(jìn)行重啟操作的時(shí)候)。
這里以CentOS為例,其他系統(tǒng)同理。
安裝convmv
yum -y install convmv
轉(zhuǎn)碼
convmv -fGBK -tUTF8 -r --notest target
其中-f是源編碼,-t是目標(biāo)編碼,-r是遞歸處理目錄,–notest是不移動(dòng),實(shí)際上對(duì)文件進(jìn)行改名,target是目標(biāo)目錄。
方法二
更改Nginx站點(diǎn)配置文件,修改編碼為UTF-8。
系統(tǒng)區(qū)域語(yǔ)言設(shè)置
# vi /etc/sysconfig/i18n
加入
LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
并重啟系統(tǒng)(如果沒有此文件則創(chuàng)建)
更改Nginx設(shè)置
編輯站點(diǎn)的Nginx配置文件,在sever中添加
charset utf-8;
如:
server{ listen 80; servername www.iots.vip; root /www; index index.html index.jsp; charset utf-8; ...
同時(shí)需要將FTP與shell工具的字符集設(shè)置為UTF-8。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 如何利用nginx通過正則攔截指定url請(qǐng)求詳解
- nginx屏蔽指定接口(URL)的操作方式
- Nginx根據(jù)url中的path動(dòng)態(tài)轉(zhuǎn)發(fā)到upstream的實(shí)現(xiàn)
- nginx實(shí)現(xiàn)根據(jù)URL轉(zhuǎn)發(fā)請(qǐng)求的實(shí)戰(zhàn)經(jīng)歷
- nginx proxy_pass反向代理配置中url后加不加/的區(qū)別介紹
- 詳解nginx配置url重定向-反向代理
- 詳解nginx rewrite和根據(jù)url參數(shù)location
- Nginx服務(wù)器如何設(shè)置url鏈接
相關(guān)文章
通過Nginx搭建Tomcat9集群并實(shí)現(xiàn)Session共享
這篇文章主要介紹了通過Nginx搭建Tomcat9集群并實(shí)現(xiàn)Session共享,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06前端部署項(xiàng)目后nginx轉(zhuǎn)發(fā)接口404(頁(yè)面正常)詳解
一個(gè)網(wǎng)站項(xiàng)目,肯定是避免不了404頁(yè)面的,下面這篇文章主要給大家介紹了關(guān)于前端部署項(xiàng)目后nginx轉(zhuǎn)發(fā)接口404(頁(yè)面正常)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06nginx rewrite重寫規(guī)則與防盜鏈配置方法教程詳解
這篇文章主要介紹了nginx rewrite重寫規(guī)則與防盜鏈配置方法教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09Windows系統(tǒng)下Nginx服務(wù)器的基本安裝和配置方法介紹
這篇文章主要介紹了Windows系統(tǒng)下Nginx服務(wù)器的基本安裝和配置方法,文中給出了一個(gè)配置文件的實(shí)例并作出了些說(shuō)明,需要的朋友可以參考下2015-12-12PHP開發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子
這篇文章主要介紹了PHP開發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子,kohana曾經(jīng)是codeigniter框架的衍生版,后來(lái)發(fā)展成另一個(gè)獨(dú)立的PHP5開發(fā)框架,需要的朋友可以參考下2014-07-07Nginx流量拷貝ngx_http_mirror_module模塊使用方法詳解
這篇文章主要介紹了Nginx流量拷貝,Nginx專門提供了ngx_http_mirror_module模塊,用來(lái)實(shí)現(xiàn)流量拷貝。將生產(chǎn)環(huán)境的流量拷貝到預(yù)上線環(huán)境或測(cè)試環(huán)境2022-04-04如何配置Nginx每個(gè)進(jìn)程最多打開的文件數(shù)量
這篇文章主要介紹了配置Nginx每個(gè)進(jìn)程最多打開的文件數(shù)量,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Nginx中使用gzip_http_version解決CDN只支持http 1.0問題
這篇文章主要介紹了Nginx中使用gzip_http_version解決CDN只支持http 1.0問題,問題原因是在Header信息中看到Transfer-Encoding: chunked,使用本文方法就可以解決這個(gè)問題,需要的朋友可以參考下2014-09-09