Nginx下無法使用中文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í)間段,無法對(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ū)域語言設(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í)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(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)文章
服務(wù)器部署之虛擬機(jī)安裝nginx并部署web網(wǎng)頁(yè)
本文提供了一個(gè)關(guān)于Nginx的安裝與配置的簡(jiǎn)單入門教程,涵蓋從安裝所需插件(如gcc、zlib、pcre、openssl等),到下載、解壓、編譯安裝Nginx的完整過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
詳解Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南
Nginx是一種服務(wù)器軟件,也是一種高性能的http和反向代理服務(wù)器,本篇文章主要介紹了Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南,有興趣的可以了解一下。2016-12-12
配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面
今天抽時(shí)間給大家普及nginx 重定向到系統(tǒng)維護(hù)頁(yè)面的配置內(nèi)容,nginx重定向問題說起來也很簡(jiǎn)單,因?yàn)橹囟ㄏ蚝笾苯犹D(zhuǎn)到靜態(tài)頁(yè)面,不需要后續(xù)操作和記錄,所以直接301永久重定向。今天簡(jiǎn)單給大家介紹配置方法,一起看看吧2021-06-06
Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實(shí)現(xiàn)
本文主要介紹了Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06

