Définir la date d'expiration d'une image
Galak
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'essaie actuellement d'optimiser le temps de chargement des pages de mon site. J'utilise Yslow et Page Speed. Ces deux applications me suggèrent de définir une date d'expiration pour les images (notamment).
J'ai cherché sur le web, mais je n'ai pas trouvé de tuto clair et simple pour faire ce que je veux.
J'ai ajouté les lignes suivantes dans mon fichier .htaccess:
ExpiresActive On
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
Mais ça m'a renvoyé une erreur 500 (mon site est sur Free).
Je voudrais savoir s'il est possible de définir la date d'expiration de toutes les images en modifiant seulement le .htaccess, ou s'il faut modifier les entêtes de chaque page html.
Merci de vos réponses,
Galak
J'essaie actuellement d'optimiser le temps de chargement des pages de mon site. J'utilise Yslow et Page Speed. Ces deux applications me suggèrent de définir une date d'expiration pour les images (notamment).
J'ai cherché sur le web, mais je n'ai pas trouvé de tuto clair et simple pour faire ce que je veux.
J'ai ajouté les lignes suivantes dans mon fichier .htaccess:
ExpiresActive On
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
Mais ça m'a renvoyé une erreur 500 (mon site est sur Free).
Je voudrais savoir s'il est possible de définir la date d'expiration de toutes les images en modifiant seulement le .htaccess, ou s'il faut modifier les entêtes de chaque page html.
Merci de vos réponses,
Galak
A voir également:
- Définir la date d'expiration d'une image
- Image iso - Guide
- Légender une image - Guide
- Définir google comme page d'accueil - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
7 réponses
Si, mais avec beaucoup de paramètres propres à eux.
Je déteste ce genre d'hébergeur (comme 1&1 avec leur register_globals)
Je déteste ce genre d'hébergeur (comme 1&1 avec leur register_globals)
Pour désactiver quoi ? Les register_globals ?
Il suffit de passer la version de PHP en 5 (par défaut, c'est PHP4).
Ajoute cette ligne dans le .htaccess :
Si tu veux rester sur PHP4, alors crées un php.ini contenant ceci :
Il suffit de passer la version de PHP en 5 (par défaut, c'est PHP4).
Ajoute cette ligne dans le .htaccess :
AddType x-mapp-php5 .php
Si tu veux rester sur PHP4, alors crées un php.ini contenant ceci :
register_globals = OffEt par la même occasion, désactive les magic_quotes en ajoutant cette ligne dans le php.ini (crée-le si tu as pris la première solution pour les register_globals) :
magic_quotes_gpc off
J'ai changé ce que tu m'a dis.
Le phpinfo ici et le PHP.ini ici (on remarque au passage dans le php info qu'il est a priori pris en compte mais le magic_quotes_gpc est sur on dans le phpinfo.
Le phpinfo ici et le PHP.ini ici (on remarque au passage dans le php info qu'il est a priori pris en compte mais le magic_quotes_gpc est sur on dans le phpinfo.
Merci pour vos réponses, mais ça ne marche pas.
@arthezius Free accèpte le .htaccess, du moins pour les redirections et la personnalisation de la page 404, vu que ça marche sur mon site.
@avion-f16 j'avais déjà essayé le code provenant de ce site et rien n'y change, j'obtiens toujours l'erreur 500.
Est-ce que quelqu'un à déjà eu ce problème? Est-ce qu'il suffit de changer le .htaccess ou faut-il rajouter du code également dans le html?
Merci,
Galak
@arthezius Free accèpte le .htaccess, du moins pour les redirections et la personnalisation de la page 404, vu que ça marche sur mon site.
@avion-f16 j'avais déjà essayé le code provenant de ce site et rien n'y change, j'obtiens toujours l'erreur 500.
Est-ce que quelqu'un à déjà eu ce problème? Est-ce qu'il suffit de changer le .htaccess ou faut-il rajouter du code également dans le html?
Merci,
Galak
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@ nodapio, le seul truc que j'ai trouvé c'est d'utiliser du php.
Dans ma page qui contient l'image
- <img src="image.php">
Contenu du fichier image.php
<?php
header("expires: Thu, 15 Apr 2010 20:00:00 GMT");
header("Content-type: image/jpg");
readfile("image.jpg");
?>
Donc en gros pour chaque image j'ai du créer un fichier php ce qui est un peu lourd. Et j'ai pas franchement vu de différence dans le temps de chargement.
Si quelqu'un a une autre solution (avec htaccess) je suis toujour preneur.
Galak
Dans ma page qui contient l'image
- <img src="image.php">
Contenu du fichier image.php
<?php
header("expires: Thu, 15 Apr 2010 20:00:00 GMT");
header("Content-type: image/jpg");
readfile("image.jpg");
?>
Donc en gros pour chaque image j'ai du créer un fichier php ce qui est un peu lourd. Et j'ai pas franchement vu de différence dans le temps de chargement.
Si quelqu'un a une autre solution (avec htaccess) je suis toujour preneur.
Galak
Ok, merci.
Non, tampis je vais rester à la bonne vieille méthode...
On pourrait peut-être faire un script qui automatise la création du fichier .php mais non puisque free n'accepte pas le chmod ! ptin !!!
Non, tampis je vais rester à la bonne vieille méthode...
On pourrait peut-être faire un script qui automatise la création du fichier .php mais non puisque free n'accepte pas le chmod ! ptin !!!
Bonjour,
En m'inspirant de la réponse, voici un fichier php (cacheImage.php) qui cache tous les formats d'images
<?php
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 864000));
header("Content-type: image/".pathinfo($_GET['file'],PATHINFO_EXTENSION));
readfile($_GET['file']);
?>
Un exemple d'appel :
background-image: url('cacheImage.php?file=images/sprite3.png') ;
En m'inspirant de la réponse, voici un fichier php (cacheImage.php) qui cache tous les formats d'images
<?php
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 864000));
header("Content-type: image/".pathinfo($_GET['file'],PATHINFO_EXTENSION));
readfile($_GET['file']);
?>
Un exemple d'appel :
background-image: url('cacheImage.php?file=images/sprite3.png') ;