【问题标题】:Sending pre-minified/pre-gzipped CSS and JS to the browser将预压缩/预压缩的 CSS 和 JS 发送到浏览器
【发布时间】:2013-10-21 09:54:13
【问题描述】:
在服务器上部署期间,我有自动缩小/gzip JS 和 CSS 的方式。文件真的很精简。现在我遇到了问题,浏览器不读取它。我在 .htaccess 中尝试过这样的事情:
<FilesMatch .*\.min.css.gz>
ForceType text/css
</FilesMatch>
<FilesMatch .*\.min.js.gz>
ForceType text/javascript
</FilesMatch>
我必须做些什么才能使其工作而不是感染减慢服务器?
提前致谢
【问题讨论】:
标签:
.htaccess
gzip
minify
【解决方案1】:
我想通了,解决办法如下:
AddEncoding gzip .jsgz .cssgz
AddType application/x-javascript .jsgz
AddType text/css .cssgz
RewriteEngine on
# If client accepts compressed files
RewriteCond %{HTTP:Accept-Encoding} gzip
# and if compressed file exists
RewriteCond %{REQUEST_FILENAME}gz -f
# send .min.cssgz and .min.cssgz instead of .css and .js
RewriteRule ^(.+)\.(min.css|min.js)$ $1.$2gz [L]
由于某种原因 file_name.min.css.gz 无法正常工作,因此使用 file_name.min.cssgz 的解决方案效果很好。我希望这会对某人有所帮助。
【解决方案2】:
对于一些使用this PHP library
您可以将文件命名为file.min.js 或file.min.css。
在您的.htaccess 中,如果遵循以下代码,您所需要的一切。
AddEncoding gzip .js .css
一切都应该正常。
注意:当您不使用压缩/gzip 压缩文件时,请评论上面的 .htaccess 代码共享。