2009-08-27 15 views
2

J'essaie d'utiliser la méthode far future expires pour réduire le temps de chargement de mon site.Essayer d'implémenter la "date d'expiration du futur lointain" pour les fichiers statiques dans django

Cependant lorsque j'accède à des fichiers statiques dans firefox, le serveur répond toujours avec HTTP/1.x 304 non MODIFIÉ. La demande ne devrait même pas être faite si les fichiers sont mis en cache correctement?

Voici les lignes de httpd.conf pertinentes que j'ai pour apache 2.2:

LoadModule expires_module modules/mod_expires.so 
LoadModule headers_module modules/mod_headers.so 

<FilesMatch "\.(ico|pdf|flv|jpe?g|png|gif|js|css|swf)$"> 
ExpiresActive On 
ExpiresDefault "access plus 1 year" </FilesMatch> 

YSlow dit qu'aucun des fichiers statiques ont une date d'expiration lointain avenir. Est-ce que quelqu'un sait ce que je fais mal?

Répondre

0

Ajouter cette ligne à votre conf:

FileETag none 

(bien assurez-vous qu'il est seulement pour vos fichiers statiques, car ETAG pourrait encore être utile pour vos vues Django dynamiques)

+0

Merci, essayé, mais il ne semble pas changer le comportement du tout. –

3

Je ne suis pas sûr si le ExpiresActive On appartient à la directive FilesMatch. J'ai à peu près la même chose mise en œuvre, et je l'ai mis dehors.

De la documentation, on dirait qu'il ne leur appartient pas:

http://publib.boulder.ibm.com/httpserv/manual60/mod/mod_expires.html#expiresactive

J'ai l'en-tête arrive à expiration sur les répertoires mis avec les fichiers statiques:

ExpiresActive On 
<Directory /path/to/static/files> 
    ExpiresDefault "access plus 6 months" 
    Header append Cache-Control public 
</Directory> 
+0

Ça a marché! Merci. –

+0

Génial. N'oubliez pas d'augmenter la réponse et de "l'accepter". :-) –

Questions connexes