61 votes

Le programme d'installation HTTP expire en-têtes à l'aide de PHP et Apache

Comment puis-je configurer expire en-têtes en PHP + Apache? Je suis actuellement en utilisant un auto_prepend à servir de ressources au format gzip, mais je tiens également à maximiser le cache HTTP.

Comment les définir?

128voto

brianegge Points 12857

Il y a deux façons de le faire. La première consiste à spécifier l'en-tête dans votre code php. C'est très bien si vous voulez en programmant régler l'heure d'expiration. Par exemple un wiki pourrait allonger l'expiration du temps pour une page qui n'est pas modifié très souvent.

<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>

Votre deuxième choix est de créer un .htaccess fichier ou modifier votre httpd config. Dans un environnement d'hébergement partagé, la modification de votre .fichier htaccess est tout à fait commun. Pour ce faire, vous devez savoir si votre serveur prend en charge mod_expires, mod_headers ou les deux. La façon la plus simple est tout simplement d'essai et d'erreur, mais certains serveurs Apache sont configurés pour vous permettre de visualiser cette information via l' /server-info page. Si votre serveur dispose de deux mod_expires et mod_headers, et que vous souhaitez définir la date d'expiration sur les ressources statiques, essayer de mettre cela dans votre .fichier htaccess:

# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>

Pour d'autres combinaisons, et d'autres exemples, voir: http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html

2voto

middus Points 7613

Ce module Apache peut vous aidez: http://httpd.apache.org/docs/2.0/mod/mod_expires.html

1voto

acemtp Points 1126

Avez-vous essayé quelque chose comme?

<?php
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>

-1voto

hanish.kh Points 373

Voici une page qui explique comment le faire de la manière brianegge mentionné. a4academics.com/blog/376-set-expires-header-in-htaccess

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X