Cache do Apache com mod_headers mod_expires

3

Estou trabalhando no dever de casa para uni e esperava que alguém pudesse esclarecer algo para mim. Eu preciso configurar o seguinte:

  • Configure o cabeçalho de resposta "Cache-Control" para ter um valor "max-age" de 7 dias desde o acesso a todos os arquivos de imagem
  • Configure o cabeçalho de resposta "Cache-Control" para ter um valor "max-age" de 5 dias desde a modificação de todos os arquivos HTML estáticos.
  • Configure o cabeçalho de resposta "Cache-Control" para ter um valor "público" para todos os arquivos de imagem e HTML estáticos.
  • Configure o cabeçalho de resposta "Cache-Control" para ter um valor "privado" para todos os arquivos PHP.

Minha pergunta é se é melhor usar um FilesMatch, ou o mod_expires ExpiresByType para melhor conseguir isso? Até agora usei o seguinte:

<FilesMatch "\.(gif|jpe?g|png)$">
    ExpiresDefault "access plus 7 days"
    Header set Cache-Control "public"
</FilesMatch>

<FilesMatch "\.(html)$">
    ExpiresDefault "modification plus 5 days"
    Header set Cache-Control "public"
</FilesMatch>

<FilesMatch "\.(php)$">
    Header set Cache-Control "private"
</FilesMatch>

Obrigado.

    
por Aaron Moodie 30.05.2009 / 08:08

3 respostas

3

Você precisa usar o

ExpiresActive On

directiva onde quer que pretenda aplicar Expires cabeçalhos, por exemplo

<Location / >    
   ExpiresActive On
   ExpiresByType image/png "access plus 7 days"    
   ExpiresByType image/jpg "access plus 7 days"    
   ExpiresByType image/gif "access plus 7 days"

   ExpiresByType text/html "modification plus 5 days"

   <FilesMatch "\.(gif|jpe?g|png)$">        
      Header set Cache-Control "public"    
   </FilesMatch>

   <FilesMatch "\.(html)$">        
      Header set Cache-Control "public"    
   </FilesMatch>

   <FilesMatch "\.(php)$">
      Header set Cache-Control "private"    
   </FilesMatch> 
</Location>
    
por 30.05.2009 / 13:35
1

Eu sei que esta é uma pergunta antiga, mas no caso de alguém se deparar com ela ...

Há uma diferença no uso das diretivas FilesMatch e ExpiresByType.

O FilesMatch corresponde a um arquivo por sua extensão.

ExpiresByType corresponde a um arquivo pelo tipo mime.

Geralmente, é melhor usar o ExpiresByType.

Fonte link

    
por 01.06.2010 / 19:59
0

Eu usaria ExpiresByType globalmente em vez de ExpiresDefault em um contexto (FilesMatch).

Você já testou sua configuração?

    
por 30.05.2009 / 08:33

Tags