我遇到的问题是 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>