綠色資源網:您身邊最放心的安全下載(zǎi)站! 最新軟件(jiàn)|熱門排(pái)行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置:首頁服務器(qì)類(lèi)Web服務(wù)器 → LNMP下(xià)Nginx中文文件名或目錄404無(wú)法訪問(wèn)的(de)解決方法

LNMP下Nginx中文文件名或目錄404無法訪問的解(jiě)決方法

我要評(píng)論 2013/08/29 16:19:34 來源:綠色(sè)資源網 編(biān)輯:www.ynaad.com [ 中(zhōng) ] 評論:0 點擊:458次

VPS論(lùn)壇裏已經說過設置方法,不過貌似很多人還是會遇(yù)到中文亂碼的問題(tí),Apache可以使用mod_encoding支持中(zhōng)文目錄和文件,LNMP下Nginx其實(shí)不需要安裝(zhuāng)額外的(de)組件即可支持中文文件名或中文目錄(lù),下麵說一下常見的CentOS、Debian、Ubuntu Linux發行版下的設置方法和可能會遇到的問題:

設置前可以執行:locale 看一下,如果顯示是en_US.UTF-8,即是正常,不用按下麵的步(bù)驟設置。如果顯示其他編碼需要按如下步驟設置。

CentOS:

編輯/etc/sysconfig/i18n 文件,內(nèi)容修改為:(可以使用(yòng)vi、nano或winscp圖形管理軟件,依個人口味(wèi)選(xuǎn)擇)
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

保存,重啟係統。

Debian:

apt-get install -y locales
dpkg-reconfigure locales

執行 dpkg-reconfigure locales後會出(chū)現如下對話框:

LNMP下Nginx中文文(wén)件名或目錄404無法訪(fǎng)問的解決方法_綠(lǜ)色資源(yuán)網

用向下的方(fāng)向鍵(jiàn)找到en_US.UTF-8 UTF-8,按空格選擇,再按回車(chē)鍵。

LNMP下Nginx中(zhōng)文文件名或(huò)目(mù)錄404無法訪問的解決方法_www.ynaad.com

再按向下鍵(jiàn)選擇(zé)en_US.UTF-8,再按回車鍵確認。
重啟(qǐ)係統。

Ubuntu:

編(biān)輯/etc/default/locale 文件,修改(gǎi)內(nèi)容為(沒有的話創建一個):
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
保存,再執行:locale-gen en_US en_US.UTF-8
重啟(qǐ)係統(tǒng)。

執行:locale 看(kàn)一下是否顯示(shì)是en_US.UTF-8,如果(guǒ)報錯,請在本(běn)文(wén)反饋。

按(àn)以上步驟(zhòu)設置好後即可支持中文,可以上傳中文的文件或中文的目(mù)錄。

可能會遇到(dào)的問(wèn)題:

如果使用Winscp或Flashfxp之類的工(gōng)具上傳都要(yào)設置為utf-8才可以,設(shè)置步驟如下:

WinSCP:

  1. 打開WinSCP,在(zài)登錄界麵中選定要登錄的會話
  2. 點擊旁邊的"編輯"按(àn)鈕
  3. 在左側(cè)樹型菜單中找到"環境"項,並打開它
  4. 在右側中一項為"文件名UTF-8編(biān)碼",選擇"開啟",設置完成。

FlashFXP:

  1. 打開FlashFXP,點"站點",選擇"站點管理器"
  2. 點擊選擇要登陸的站點,在右(yòu)側點擊"選項(xiàng)"選項卡,"字符編碼" 後麵的列表框裏選擇UTF-8,設置完成。

如(rú)果在PuttyXShell等(děng)SSH客戶端下顯示亂碼,也是需要修(xiū)改字符(fú)編(biān)碼為UTF-8的。

Putty:

  1. 打開Putty,在登(dēng)錄會話界(jiè)麵中選定Default Settings
  2. 再點擊左側樹形菜單中的"Window",再點"Translation",中文版的話對應的是"窗口","轉換"
  3. 在右側界(jiè)麵中有一項"Remote character set:",中文版的是"假定接收數據的字(zì)符集",在下拉列表中選(xuǎn)擇"UTF-8",設置完成。

XShell:

  1. 打開XShell,在會話列表要登錄的會話上右擊,選(xuǎn)擇"Properties"
  2. 在點擊"Terminal",在Translation裏有個Encoding的下(xià)拉列表框,選擇"UTF-8",設置完成,簡單點(diǎn)的設置方法(fǎ),直接點上麵工具欄裏麵的藍綠色的圓(yuán)球,選擇"UTF-8"。

說了這麽多,其實就是一點,編(biān)碼一(yī)致,編碼不一致就會出現(xiàn)亂碼。

如果是在沒有更改編碼前(qián)上傳的文件,設置(zhì)好後依然會是亂碼的(de),建議重新上傳一下文件。如(rú)果沒(méi)有原來(lái)文件的備份可以使用下麵命令(lìng)進行轉換:for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done 

其中*.html為要轉換(huàn)的文件類型,也(yě)可以更換為*.txt,*.rar 主要是看你是什麽(me)文件了,裏麵的GBK為源文件的(de)編碼類型,如果不知道(dào)源文件的編碼類型可以(yǐ)執行:file -bi 文件名

如(rú)果想在Windows下(xià)改的話其實也是(shì)可(kě)以的Editplus就(jiù)有批量修改文件編碼的功能,其他的軟件可能也有此類功能,可以自行研究一下。

如果是目錄的話,目前好像是(shì)沒有辦法進行轉換。

還有一個問題,如果是html之(zhī)類的網頁文件,如果原(yuán)來是網頁內容是gb2312或類似的非utf-8的編碼,先要將網頁裏麵的(de)charset 改為charset=utf-8,再轉換文件編碼,否則網頁還是會亂碼的。

關鍵詞:LNMP,Nginx

閱讀本文後(hòu)您有什麽感想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白癡(chī)
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙(bǐ)視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡