请教大家一个apache配置的很奇怪的问题!搞了2天没搞定!
用apache+php+mysql写了个小网站,测试时发现很怪异的问题
如下:
在一个页面内嵌入一个iframe,
<iframe src="/样例.pdf"></iframe>
用安装了adobe reader的系统上用ie测试
在本地测试,即在web服务器上测试时,一切显示正常,即pdf文件能正常下载显示
当到另外一台机器上时,发现有时候pdf显示不出来,有时候能显示出来。
查看apache日志,不能显示pdf的请求日柱如下:
192.168.0.102 - - [23/Oct/2008:21:46:40 +0800] "GET /ccscms/books/0801%E9%AA%8C%E8%88%B9%E5%B8%88%E9%A1%BB%E7%9F%A5(AcrobatReader6[1].0)/IKEA2009.pdf HTTP/1.1" 206 39858469
192.168.0.102 - - [23/Oct/2008:21:46:40 +0800] "GET /ccscms/books/0801%D1%E9%B4%AC%CA%A6%D0%EB%D6%AA(AcrobatReader6[1].0)/IKEA2009.pdf HTTP/1.1" 403 1110
我网站用的utf8编码,比较奇怪的是按照道理来说,第一个解析正确并且他也正确解析了,返回206,只是文件大小不正确,但是ie和aodbe reader为什么不继续请求了呢,后来为什么又用别的编码格式再请求一遍呢? 用别的编码格式肯等找不到啊,就返回403
而在本地测试,日志如下:
127.0.0.1 - - [23/Oct/2008:21:40:41 +0800] "GET /ccscms/books/0801%E9%AA%8C%E8%88%B9%E5%B8%88%E9%A1%BB%E7%9F%A5(AcrobatReader6[1].0)/IKEA2009.pdf HTTP/1.1" 200 40336525
这样就没问题!
因为我没用静态页面也试过,所以跟php应该没关系
最后问题就是在这里了,在本地能正确请求。而非本地请求的数据不全,因此不能显示,ie自作聪明的换了别的编码继续请求。
我想问的问题是,能否在apache设置让非本地跟本地一样,能够完整传送数据啊?到底为什么不能正确传送数据呢?