Répondre à un header If-Modified-Since

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Pasco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Enregistré le: 13 Mai 2005

Répondre à un header If-Modified-Since

Message le Dim Avr 09, 2006 14:56

Salut,

J'ai un site tout en php, que des pages dynamiques.
A la différence d'un site statique, il n'envoie pas automatiquement d'info sur la date des dernières modifications. J'ai donc pris la précaution de rajouter
Code: Tout sélectionner
header("Last-Modified: " . gmdate("D, d M Y H:i:s",$last_modif) . " GMT");

en calculant $last_modif par ailleurs.

Seulement, si je comprends bien, cela ne répond pas à une requête client qui contient le header If-Modified-Since.
Il faudrait :
- détecter le header client If-Modified-Since ;
- comparer la date de ce header à celle du document ;
- renvoyer le document si la date du document est plus récente que la date du header client ;
- sinon renvoyer seulement le header 304 not-modified ;

1°) Est-ce que cette analyse est correcte ?
2°) Est-ce que quelqu'un a un tel script déjà prêt ?

Pasco

Pasco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Enregistré le: 13 Mai 2005

Message le Dim Avr 09, 2006 16:02

Bon vous fatiguez pas, j'ai trouvé :

1°) c'est effectivement ce qu'il faut faire ;
2°) il suffit de faire ça

Code: Tout sélectionner
   
$if_modified_since = preg_replace('/;.*$/', '',$HTTP_IF_MODIFIED_SINCE);
$gmdate_mod = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
if ($if_modified_since == $gmdate_mod)
         {
         header("HTTP/1.0 304 Not Modified");
         exit;
         }
header("Last-Modified: " . $gmdate_mod);


avec $mtime la date de la dernière modif de la page consultée.


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :