Apache的URL支持中文的设置方法
2016-05-12 11:31
896 查看
测试的环境是:centos-64位服务器操作系统apache-2.0.59 php-5.2.5 mysql-5.0.45 zend-3.31、下载相关文件并解压
WebDAV Resources JP有Apache2对应的mod_encoding的最新版本下载
# wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616 # wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz # tar zxfv mod_encoding-20021209.tar.gz
# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c2、iconv_hook编译和安装
安装mod_encoding前首先需要安装iconv_hook。
$ cd mod_encoding-20021209/lib
$ ./configure
$ make
# make install
完成上面操作后,iconv_hook相关so文件放到/usr/local/lib下面。
/usr/local/include/iconv_hook要操作系统系统能够搜索到该so文件,需要完成一下几行操作
打开/etc/ld.so.conf文件,添加一行指向iconv_book的所在路径,即"/usr/local/lib"
# vi /etc/ld.so.conf
/usr/local/lib[Esc]、[:]、[w]、[q] 保存退出。
# PATH="$PATH:/sbin"
# ldconfig3、mod_encoding模块的编译
进入mod_encoding-20021209.tar.gz的解压目录,即mod_encoding-20021209
# ./configure --with-apxs=/user/apache/bin/apxs --with-iconv-hook=/usr/local/include
# make
#ls -l mod_encoding.o#./configure --with-apxs=/user/apache/bin/apxs --with-iconv-hook=/usr/local/include
错误提示:
make: *** [mod_encoding.so] Error 1
原因很明显,是regex.h未包含进来,解决办法也很简单,用vi打开mod_encoding.c,
在#include <httpd.h>那一段的前面加上如下一行:
#include <regex.h>查看是否已经生成了[color=#ff0000]mod_encoding.o文件,继续操作,然则自己baidu或google下。[/color]# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook生成mod_encoding.so文件,将该文件拷贝到你的模块存放目录,一般为${APACHE_HOME}/modules/# cp mod_encoding.so /user/apache/modules/mod_encoding.sohttpd.conf的设定(以下的配置,仅供参考)LoadModule encoding_module modules/mod_encoding.so
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
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
</IfModule>4、重启apache,如果没提示错误。您可以上传中文文件到您的web目录下。
WebDAV Resources JP有Apache2对应的mod_encoding的最新版本下载
# wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616 # wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz # tar zxfv mod_encoding-20021209.tar.gz
# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c2、iconv_hook编译和安装
安装mod_encoding前首先需要安装iconv_hook。
$ cd mod_encoding-20021209/lib
$ ./configure
$ make
# make install
完成上面操作后,iconv_hook相关so文件放到/usr/local/lib下面。
/usr/local/include/iconv_hook要操作系统系统能够搜索到该so文件,需要完成一下几行操作
打开/etc/ld.so.conf文件,添加一行指向iconv_book的所在路径,即"/usr/local/lib"
# vi /etc/ld.so.conf
/usr/local/lib[Esc]、[:]、[w]、[q] 保存退出。
# PATH="$PATH:/sbin"
# ldconfig3、mod_encoding模块的编译
进入mod_encoding-20021209.tar.gz的解压目录,即mod_encoding-20021209
# ./configure --with-apxs=/user/apache/bin/apxs --with-iconv-hook=/usr/local/include
# make
#ls -l mod_encoding.o#./configure --with-apxs=/user/apache/bin/apxs --with-iconv-hook=/usr/local/include
错误提示:
make: *** [mod_encoding.so] Error 1
原因很明显,是regex.h未包含进来,解决办法也很简单,用vi打开mod_encoding.c,
在#include <httpd.h>那一段的前面加上如下一行:
#include <regex.h>查看是否已经生成了[color=#ff0000]mod_encoding.o文件,继续操作,然则自己baidu或google下。[/color]# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook生成mod_encoding.so文件,将该文件拷贝到你的模块存放目录,一般为${APACHE_HOME}/modules/# cp mod_encoding.so /user/apache/modules/mod_encoding.sohttpd.conf的设定(以下的配置,仅供参考)LoadModule encoding_module modules/mod_encoding.so
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
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
</IfModule>4、重启apache,如果没提示错误。您可以上传中文文件到您的web目录下。
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- 利用开源软件打造自己的全功能远程工具
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例
- 服务器技术全面解析
- 保护DNS服务器的几点方法小结
- 我国成为全球第二大服务器消费国
- 服务器 安全检查要点[星外提供]
- Ruby在cmd下中文显示乱码以及不支持OpenSSL的问题解决