Categories
學習筆記

apache 2.4 編譯mod_encoding支持中文url

650_1000_apache-server
網絡上通用的apache 2.2的mod_encoding的rpm安裝文件,貌似在apache 2.4上是無法直接使用的。
因此遇上這個問題,確實對我造成了困擾,畢竟中文url(其實就是指針對非英文url的支持)對於一些客戶來說是必須的。
所以只要自己編譯一下這個由日本朋友在2002年開發的apache module。
你可以選擇下載我提供的源或是自己到日本朋友那邊去下載源碼

wget https://www.guyusoftware.com/sh/mod_encoding.zip
unzip mod_encoding.zip

wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
wget http://www.aconus.com/%7Eoyaji/faq/mod_encoding.c-apache2.2-20060520.patch

下載完畢後,接下來就是解壓和編譯的動作了。

tar -xzf mod_encoding-20021209.tar.gz
cd mod_encoding-20021209
cp ../mod_encoding.c.apache2.20040616 mod_encoding.c
patch -p0 < ../mod_encoding.c-apache2.2-20060520.patch cd lib/ ./configure --prefix=/usr make && make install ldconfig cd ../ chmod 755 configure cp -p /usr/sbin/apxs /usr/bin ./configure --with-apxs=/usr/sbin/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

最後則是編輯httpd.conf配置文件的部份,大家就依照自己需要和環境做修改吧。

vi /etc/httpd/conf/httpd.conf

LoadModule encoding_module /usr/lib/httpd/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

service httpd restart

3 replies on “apache 2.4 編譯mod_encoding支持中文url”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.