mod_expires não funcionará depois de ativado no apache2.conf

1

Depois de ler aqui , coloquei o seguinte bloco de código no meu apache2.conf:

<ifmodule mod_expires.c>
<Filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff|mp3)$">
    ExpiresActive on
    ExpiresDefault "access plus 2 days"
</Filesmatch>
</ifmodule>

Em seguida, reiniciei o Apache e limpei todo o cache do CMS e fui executar teste de GPI , no qual Eu ainda recebo o seguinte erro, indicando que o módulo não funciona:

  

Aproveite o cache do navegador

     

A definição de uma data de expiração ou de uma idade máxima nos cabeçalhos HTTP para recursos estáticos instrui o navegador a carregar recursos transferidos anteriormente a partir do disco local em vez de pela rede.

Eu achei que o motivo é que o mod_cache não está online, então eu usei a2enmod cache , depois colei no Vhost do meu site o seguinte código e reiniciei o Apache. Não ajudou muito e ainda tenho o mesmo erro no GPI:

    CacheQuickHandler off
    CacheLock on
    CacheLockPath /tmp/mod_cache-lock
    CacheLockMaxAge 5
    CacheIgnoreHeaders Set-Cookie
</VirtualHost>

Minha pergunta é o que pode estar faltando para ativar o mod_expires, por que não funciona?

    
por JohnDoea 05.12.2016 / 12:34

1 resposta

2

O módulo expires requer que o módulo headers funcione.

sudo a2enmod headers
sudo service apache2 reload

Além disso, sua configuração parece bem.

Mas, para impedir que o PageSpeed Insights reclame, você só precisa aumentar o tempo de expiração de seus recursos de 2 dias para um valor maior ou igual a 7 dias.

Você só precisa modificar a seguinte linha:

ExpiresDefault "access plus 2 days"

Nos documentos do PageSpeed Insights :

  

Recomendamos um tempo de cache mínimo de uma semana e, de preferência, até um ano para ativos estáticos ou ativos que mudam com pouca frequência.

    
por Dan 05.12.2016 / 14:58