Não é possível gzip alguns arquivos JS e CSS

3

Estou otimizando uma loja magento, e alguns JS e CSS (compilados e minificados em uma pasta MEDIA ) não estão sendo entregues como deveriam.

Todas as páginas são gziped (ex. esta página HTML ) mas algum conteúdo não é (ex. < a href="http://www.proauto.pt/media/js/56d4ac28b9c82ad3066d7a2d3d5252fc.js"> este ficheiro JS ).

Teste via gtmetrix.com e o teste de compressão HTTP do whatsmyip

Eu tenho essa configuração em .htaccess :

    <IfModule mod_deflate.c>

    # Insert filter on all content
    SetOutputFilter DEFLATE

    # Insert filter on selected content types only
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary

</IfModule>

# compress text, HTML, JavaScript, CSS, and XML
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/js

# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

O que eu poderia estar perdendo?

    
por Divisum 09.03.2013 / 16:26

2 respostas

2

Você pode usar isso no seu .htaccess

# BEGIN Compress text files
<ifModule mod_deflate.c>
  <filesMatch "\.(css|js|x?html?|php)$">
    SetOutputFilter DEFLATE
  </filesMatch>
</ifModule>
# END Compress text files

Esta é a parte de um exemplo de configuração de .htaccess que leva à compactação de todos os seus arquivos * .css, * .js, * .html, * .xhtml e * .php listados aqui ( link ). Também está listado como configurar expire por tipo para cabeçalhos e armazenamento em cache. Mas isso não é tão essencial para você.

A outra maneira de configurar a compactação é usar o módulo de extensão externa para apache mod_gzip . É também uma solução muito popular. Para usar esta solução você deve escrever no seu .htaccess isto

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Para informações mais detalhadas, consulte este artigo ( link ).

    
por 10.03.2013 / 10:02
0

Eu tive o mesmo problema Eu estava testando com o Chrome 38.0.2125.104 (64 bits) Dev Tools analisando os cabeçalhos de resposta do servidor.

Acho que você deve adicionar essa diretiva ao seu htaccess

AddOutputFilterByType DEFLATE text/javascript
    
por 21.10.2014 / 14:48