【发布时间】:2012-03-02 21:04:57
【问题描述】:
我使用 gzip 压缩了 JavaScript 和 CSS 文件。 JS 文件在使用 gzip cmd 压缩之前已经被缩小。
如果浏览器兼容,现在我需要告诉 apache 提供这些文件的 gzip 版本。为此,我在 htaccess 中添加了几行代码,如下所示:
AddType "text/javascript" .gz
AddType "text/css" .gz
AddEncoding gzip .gz
RewriteCond %{REQUEST_FILENAME} \.(js|css)$
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ /$1.gz [QSA,L]
<FilesMatch .*\.js.gz$>
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch .*\.css.gz$>
ForceType text/css
Header set Content-Encoding: gzip
</FilesMatch>
public_html里面的文件目录结构如下:
css/style.css
css/style.css.gz
js/customjsfn.min.js
js/customjsfn.min.js.gz
js/jquery.js
js/jquery.js.gz
在标题中,我已经包含了这样的 css 和 js 文件:
<link rel="stylesheet" href="http://example.com/css/style.css" />
<script type="text/javascript" src="http://example.com/js/customjsfn.min.js"></script>
<script type="text/javascript" src="http://example.com/js/jquery.min.js"></script>
样式应用不正确。当我使用 firebug 检查响应代码时,它为我的文件返回 404。
我哪里出错了?
【问题讨论】:
-
你有放气模块吗?您的 php ini 配置是否正确(如果使用)?
-
您的网络服务器应配置为自动执行此操作。你确定这是必要的吗?你能和服务器管理员谈谈吗?
-
我如何检查我们配置为执行此操作的服务器?
-
@Sekar 最简单的方法可能是询问服务器管理员。或者使用 Firebug 之类的工具查看任何 CSS 或 JS 资源的标题