Apache服务器中文url的问题

通过apache下载url中含有中文的目录或文件会出现404错误,经查看是因为apache对中文url的支持有问题。

1.IE访问WEB的简单顺序为:
IE<->apache<->文件系统
即IE向apache发送URL请求,该请求是通过某种编码做了encode的,apache接到请求后对其进行解码,然后再用解码后的地址到文件系统获取请求的内容返回到客户端的IE。

从以上顺序可以看出,如果要正常使用中文路径的URL,必须保证:

1,IE端到apache端的URL请求的编码和解码的字符集必须一致,

2,apache到文件系统获取中文路径内容使用的字符集也要跟文件系统的文件名的编码一致。

2.ext2、ext3等文件系统(ufs文件系统估计也是)不像ntfs或者fat32文件系统,前者文件名是用原码的,不作任何编码,而后者是通过Unicode编码的,故而在win机器上的apache到文件系统获取中文路径的文件的问题不大,但是在Linux/Unix上,就必须保证使用正确的字符编码才能正确访问中文路径了。

3.IE默认是通过UTF8发送URL请求的,如果不想用UTF-8,即必须修改IE的配置,具体方法是IE选项->高级->不选总是以UTF-8发送URL。

4.ftp协议一般都是通过GBK编码作为路径编码传输文件的,故而要正确访问ext2、ext3经过ftp传输的中文路径文件,必须使用GBK才能正确访问到,用zh_CN.GB18030编码可以成功访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值