Apache2 带有 mod_deflate 提供糟糕的 css 和 js

Apache2 带有 mod_deflate 提供糟糕的 css 和 js

我遇到的问题是 css 和 js 文件用作 file.css.gz 和 file.js.gz在其中一个已启用的网站上。内容如下:

û—Û6’0ú»ÿ
­sæÚNZ²H½ZΉ¿yìN&9Iv¿yå5sï¡H¨Å˜5$Õïõ÷·_$ˆÂ£Šº“ݹg홸›¨*P P(^<ú÷#;Œþ”êѯ·å¡o“”ÞåÍèã×Ï^<úí¿}þÅ7£¯ò›ü`þóÙhÔý¶Ï‹‡7£=©Ÿò²ºJߌNUñòÅkV¿–D^ 3–¿NXÙ¼xuøÿú(gÛüþÅ+^{µOš—/Ø~òŒeã’7GöâÕÕ0©»r»DÚ_ðš¢5Õ‰WYßÞ|¤>É/€/k;BöéÅoF³é´ÿV7{3:„âÓg„xþí›ÕÂéÅõGvs*’ê±ëÈèVt¡Q(% <7L€(:b÷mPŒJf’rëeùE“yúXQ¶TtcÚß Aâˆ! D3L„2`ûéBùåÈO˪ßoË"{¬ð
Ý

在他们的 css 和 js 文件夹中的 .htaccess 文件中我得到了以下内容:

RewriteEngine on

# Make sure the browser supports gzip encoding before we send it
RewriteCond %{HTTP:Accept-Encoding} \b(x-)?gzip\b
RewriteCond %{REQUEST_URI} .*\.css
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]

# without it, Content-Type will be "application/x-gzip"
# also add a content-encoding header to tell the browser to decompress

<FilesMatch \.css\.gz$>
    ForceType text/css
    Header set Content-Encoding gzip
    Header add Vary Accept-Encoding
</FilesMatch>

我在 Ubuntu 14.04 apache2 2.4.7 上运行,安装了 mod_deflate,运行时apachectl -t -D DUMP_MODULES显示deflate_module (shared)headers_module (shared)

可能是什么问题呢?

答案1

我通过在 vhost conf 文件中添加以下行解决了我的问题:

<Directory /home/nexusstar/workspace/{{path to js folder}}/js>
    AddEncoding gzip gz
    ForceType text/javascript
</Directory>
<Directory /home/nexusstar/workspace/{{path to css folder}}/css>
    AddEncoding gzip gz
    ForceType text/css
</Directory>

相关内容