linux apache中文名称图片,Apache、NGINX支持中文URL图片、文件名的终极解决方案
本帖最后由 vzandy 于 2013-3-15 15:40 編輯
Apache(32位):安裝環境:CentOS 5.6 + Apache 2.2.15
安裝結果:安裝后支持“中文圖片、文件名”鏈接直接打開
以下為安裝過程:
1、下載安裝包
wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz復制代碼
2、直接解壓
tar zxvf mod_encoding-2.2.0-1.i386.tar.gz復制代碼
看到2個rpm安裝包,進行安裝
rpm -ivh iconv_hook-1.0.0-1.i386.rpm
rpm -ivh mod_encoding-2.2.0-1.i386.rpm復制代碼
3、用 find / -name httpd.conf 找到apache配置文件httpd.conf,vi編輯加入以下內容
LoadModule encoding_module modules/mod_encoding.so
Header add MS-Author-Via "DAV"
EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312復制代碼
保存退出
4、重啟apache
service httpd restart復制代碼
5、完成!
注:如果安裝的是WDCP,重啟apache會失敗,需要將mod_encoding.so復制到/www/wdlinux/httpd-2.2.22/modules下,
命令:
cp /usr/lib/httpd/modules/mod_encoding.so /www/wdlinux/httpd-2.2.22/modules復制代碼
Apache(64位):————————————————————-
此方案用于解決Apache軟件對中文網址、中文圖片、文件名的支持問題。
通過測試環境:64位CentOS5.5 + Apache2.2.15
————————————————————-
下載 mod_encoding_64.tar.gz
源碼包由吳世昌整理,已經包含了apache2.2所需的補丁。
2011.9.20由Hostloc.com的Captain修改補充。
————————————————————-
1、安裝gcc組件
yum install gcc -y復制代碼
2、下載壓縮包
wget http://d.nicwind.com/files/mod_encoding_64.tar.gz復制代碼
3、將壓縮包解壓,進行編譯
tar zxvf mod_encoding_64.tar.gz
cd mod_encoding_64
patch -p0 < mod_encoding.c-apache2.2-20060520.patch
cd lib
chmod 755 configure
./configure --prefix=/usr
make && make install
ldconfig
cd ../
chmod 755 configure
cp -p /usr/sbin/apxs /usr/bin
./configure --with-apxs=/usr/bin/apxs --with-iconv-hook=/usr/include
make
gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
cp mod_encoding.so /usr/lib/httpd/modules復制代碼
注:/usr/lib/httpd/modules為apache的modules目錄,可以用
find / -name modules復制代碼找出這個目錄的路徑
注意把/usr/lib/httpd/modules改成你的apache模塊存放路徑。
4、完成以上操作后,再修改apache的配置文件(可以用find / -name httpd.conf,找出httpd.conf文件的路徑),把下面的內容添加到apache的配置文件httpd.conf中。
LoadModule encoding_module modules/mod_encoding.so
EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312復制代碼
保存,退出
5、重啟apache
service httpd restart復制代碼
6、完成
注:如果安裝的是WDCP,重啟apache會失敗,需要將mod_encoding.so復制到/www/wdlinux/httpd-2.2.22/modules下,
命令:
cp /usr/lib/httpd/modules/mod_encoding.so /www/wdlinux/httpd-2.2.22/modules復制代碼
Nginx:
一、確定你的Linux系統是UTF編碼,Root登錄SSH:
env|grep LANG
LANG=en_US.UTF-8復制代碼
二、NGINX配置文件里默認編碼設置為utf-8
server
{
listen 80;
server_name xxxx.com ;
index index.html index.htm index.php;
root /usr/local/nginx/html/inginx.com;
charset utf-8;
}復制代碼
三、如果使用putty
windows –> translation –>UTF-8
mkdir 中文目錄名
echo ‘中文目錄名’ > 中文目錄名/中國.html
四、如果是用securecrt 上傳文件,請選擇 回話–>外觀–UTF-8
如果是FTP軟件也將默認編碼設置為TUF-8
五、如果上傳的文件名出現亂碼顯示
執行
for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done復制代碼
完畢。以上都是在互聯網收集整理。已經測試過完全沒有問題, 上次我在論壇發過兩次求助中文URL教程,得到的回復寥寥無幾,管理員的回答也有點看不懂,就自己變摸索變找教程了
總結
以上是生活随笔為你收集整理的linux apache中文名称图片,Apache、NGINX支持中文URL图片、文件名的终极解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【解决方案修复谷歌翻译 Windows、
- 下一篇: 第2章 Python 数字图像处理(DI