0

当我使用 YUI 压缩器缩小 jquery 时,它工作正常。然后,当我添加 gzip 压缩(并通过 mod rewrite 提供此版本)时,gzip 压缩版本会引发此错误:

第 1 行 jquery.min.js 中的非法字符

第 1 行是:

�������<em>M�����������s�8�0�?�</em>!sz�dKr�=�</p>

这会导致“未定义 jquery”错误。我正在使用以下重写规则来提供 gzip 压缩版本:

#Check to see if browser can accept gzip files.
ReWriteCond %{HTTP:accept-encoding} (gzip.*)
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [L] 

我找不到任何关于这件事发生在其他人身上的参考资料。想法?

PS - 2008 年 jQuery 论坛上似乎也提出了同样的问题。它有 278 个视图,但没有答案:http: //forum.jquery.com/topic/how-to-reference-jquery-1-2- 6-min-js-when-zipped-with-gzip

4

1 回答 1

0

如果我不得不猜测,我会说 Apache 已经在压缩您的 JS 文件,并且您的重写导致请求被双重压缩。

删除重写规则并查看 Firebug 中的 jQuery 文件。您将在那里看到它是否已经被压缩。

于 2010-06-08T20:32:46.133 回答