J'ai un site d'une seule page portail qui presente 4 ecoles avec leur propre lien, apres les 4 ecoles ont leur propre site geré soit par moi soit par d'autres personnes.
Cette page unique actuellement est située a l'adresse www.titi.com/index.php, depuis 2 - 3 ans et est bien référencée.
aujourdh'ui j'ai du faire la version anglaise (UK) et italienne (IT) de cette page avec détection du pays par l'IP et redirection donc vers la version correspondante.
c'est a dire que maintenant
index.php contient le script de detection IP et redirection vers la version
si FR, on va sur index_fr.htm, si UK sur index_uk.htm etc....
Concernant le referencement pour faire bien comme il faut (!!), j'ai fait dans le script index.php un :
header("HTTP/1.1 301 Moved Permanently");
Voici le code du script PHP simplifié car il fonctionne
<?php
$connexion = mysqli_connect("localhost", "root", "", "my_db");
// Fonction permettant de convertir l'adresse IP en un format numérique
function conversionIP($dotted){
$dotted = preg_split( "/[.]+/", $dotted);
$ip = (double) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+($
dotted[3]);
// IP Number = A x (256*256*256) + B x (256*256) + C x 256 + D
return $ip;
}
$ip = $_SERVER['REMOTE_ADDR']; // Adresse IP du visiteur
$ip = conversionIP($ip); // Utilisation de la fonction pour convertir l'adresse IP
// Sélection des données dans la base de données. Si l'IP est comprise entre IP_FROM et IP_TO
$result = mysqli_query($connexion, "SELECT * FROM ip_to_country WHERE $ip BETWEEN IP_FROM AND IP_TO ") or die (mysqli_error($connexion));
$data = mysqli_fetch_array($result);
$country_code=$data['COUNTRY_CODE'];
if($country_code == 'FR')
{
header("HTTP/1.1 301 Moved Permanently");
header('Location: index_fr.htm');
}
else if($country_code == 'IT')
{
header("HTTP/1.1 301 Moved Permanently");
header('Location: index_it.htm');
}
else
{
header("HTTP/1.1 301 Moved Permanently");
header('Location: index_uk.htm');
}
mysqli_close($connexion);
?>
Est ce que cela suffit pour la redirection, ou dois- egalement faire un .htaccess contenant :
contenant quelque chose comme :
RewriteEngine On
RewriteRule .* http://www.titi.com/
il me semble que non puisque finalement c'est toujours a la page index.php qu'on doit acceder.
la difference est qu'elle ne contient plus les memes choses, elle contient le code qui redirige sur soit index_fr.htm soit ....
Merci de votre reponse
Sand



Haut














