Bonjour,
je possède un site multi langue hébergé chez Gandi. J'ai un problème qui se pose actuellement. Voici ce qui se passe :
Etape 1 : Un visiteur francophone visite mon site : le site tel qu'il a été vu par ce visiteur, se met en cache sur le serveur dans sa langue francaise
Etape 2 : Un visiteur anglophone visite mon site après le visiteur francophone. Problème, le serveur lui affiche le site qui est dans le cache, c'est à dire en version francaise.
Question : Comment faire pour purger le cache à chaque nouvelle IP ? Ou comment faire pour que ce problème soit résolu ?
Voici les code que j'utilise :
Htaccess :
Index.php (partie pour la selection du language :
je possède un site multi langue hébergé chez Gandi. J'ai un problème qui se pose actuellement. Voici ce qui se passe :
Etape 1 : Un visiteur francophone visite mon site : le site tel qu'il a été vu par ce visiteur, se met en cache sur le serveur dans sa langue francaise
Etape 2 : Un visiteur anglophone visite mon site après le visiteur francophone. Problème, le serveur lui affiche le site qui est dans le cache, c'est à dire en version francaise.
Question : Comment faire pour purger le cache à chaque nouvelle IP ? Ou comment faire pour que ce problème soit résolu ?
Voici les code que j'utilise :
Htaccess :
Code:
<ifmodule mod_expires.c>
ExpiresActive on
ExpiresByType text/html "access plus 200 seconds"
</ifmodule>
<filesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=200, must-revalidate, public"
</filesMatch>
Index.php (partie pour la selection du language :
Code:
$language = (isset($_GET['lang'])) ? $_GET['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$language = $mysqli->real_escape_string($language);
const LANGUAGES = ['be' => 'fr', 'ch' => 'fr', 'lu' => 'fr', 'it' => 'it', 'fr' => 'fr', 'es' => 'es', 'pt' => 'pt', 'de' => 'de'];
$language = LANGUAGES[$language] ?? 'en';