我正在使用的这个平台使用一些机制来确定它是否应该对直接<script>
文件或.js
文件执行.js.gz
链接,具体取决于浏览器类型和版本
在当前服务器上,一切正常,js
和js.gz
文件都有效,javascript在浏览器中执行。但是,将其全部转移到新服务器上,然后Firefox突然停止使用gz
文件。它将下载它们(可以使用Firebug看到)但它没有执行它们。
关于为什么gzip压缩文件没有正确使用的任何想法?
旧版的响应标题
Date Thu, 25 Nov 2010 17:06:32 GMT
Server Apache
Last-Modified Mon, 22 Nov 2010 21:31:00 GMT
Etag "55808a3-3f1e-4ceae114"
Accept-Ranges bytes
Content-Length 16158
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Content-Type application/javascript
Content-Encoding gzip
来自新
的回复标题Date Thu, 25 Nov 2010 17:00:11 GMT
Server Apache/2.2.17 (CentOS)
Last-Modified Thu, 25 Nov 2010 16:11:00 GMT
Etag "693c304-4178-495e2da08cd00"
Accept-Ranges bytes
Content-Length 16760
Connection close
Content-Type application/x-gzip
我将假设它来自Content-Encoding和Type,但我不知道如何更改它。
FIX
考虑到答案和评论后,我将以下内容更改为/etc/httpd/conf/httpd.conf
,其中注释(#
)行是什么,取消注释是我的替代:
# Technically just uncommented this line
AddEncoding x-gzip .gz .tgz
#AddType application/x-gzip .gz .tgz
AddType application/x-gzip .tgz
AddType application/javascript .gz
答案 0 :(得分:0)
这将是服务器端设置/模块 - 客户端不知道如何处理gziped 文件但是他们通常知道如何处理在传输中压缩的文件,只要你告诉他们你是怎么做的使用Content-Encoding
标题压缩它们。
基本上我认为你会发现服务器没有在新服务器上发送Content-Encoding: gzip
标题,但它是旧的。
答案 1 :(得分:0)
如果您碰巧使用Apache,您的旧网络服务器可能已启用MultiViews,但您当前的网络服务器却没有。尝试在当前服务器中启用它(至少对于该目录):
Options +MultiViews