我在Ubuntu上安装了标准的Apache2。
我试图让mod_deflate工作,但它注意到它并没有压缩我的.js文件。仔细检查发现 apache没有发送Content-Type:除了.php文件以外的任何内容。对于他们来说,它发送“text / html”,这很奇怪,因为DefaultType是“text / plain”。
我不知道为什么这是... mod_mime已启用,我没有触及它的配置。
以下是我的服务器对.css文件的响应示例:
Date Wed, 11 Mar 2009 04:48:12 GMT
Server Apache/2.2.9 (Ubuntu)
Connection Keep-Alive
Keep-Alive timeout=15, max=96
Etag "30478-4fb-464bec553a600"
Vary Accept-Encoding
答案 0 :(得分:4)
看起来这是使用eTags缓存项目的结果,而我忽略了这一事实。
发生的事情是这些项目都在浏览器缓存中,并且实际上并没有从服务器发送,因此没有Content-Type。但是,浏览器在eTag上执行缓存查找时从服务器接收标头..这就是我所看到的。
答案 1 :(得分:2)
在httpd.conf中注释Content-Type默认值时会发生这种情况。
在Ubuntu 8.04中,我记得它设置为text / html。
答案 2 :(得分:0)
这是一个已知问题。它是哪个ubuntu版本的?
我刚试过ubuntu 8.10和debian 5安装,我没有触及apache配置。两者都很好:
HTTP/1.x 200 OK
Date: Wed, 11 Mar 2009 10:25:17 GMT
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch mod_wsgi/2.3 Python/2.5.2
Last-Modified: Wed, 11 Mar 2009 10:19:41 GMT
Etag: "1544ae-12-464d534a6c940"
Accept-Ranges: bytes
Content-Length: 18
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/css