Salut tout le monde,
J'ai décidé il y a peu de réécrire à la volée les urls de certaines des pages de mon site. Le problème est que les anciennes urls d'accès, enregistrées par google ne redirigent pas vers les urls que j'ai réécrites. Ce n'est pas faute d'avoir essayé mais j'ai un gros problème de boucle infinie.
Voilà une de mes règle de réécriture (je met le titre du produit dans les liens vers celui-ci):
Et voici comment j'ai essayé de faire ma redirection:
Dans chaque page réécrite j'inclu un fichier chargé de rediriger le visiteur. Voilà en gros mon code:
Le problème, c'est que lorsque j'appelle par exemple la page articles.php?prod=15, mon script me redirige bien vers Article15_Titre.php, mais une fois que la page Article15_Titre.php est appelée, la variable $page ne prend pas la valeur Article15_Titre.php mais toujours articles.php. Résultat: J'ai une redirection infinie vers Article15_Titre.php. J'aimerai donc savoir comment connaître le nom du fichier chargé tel qu'il apparaît dans la barre du navigateur et non en interne.
Ca devrait ensuite me permettre de faire correctement les redirections.
Merci beaucoup à ceux qui essayeront de m'aider
@+
J'ai décidé il y a peu de réécrire à la volée les urls de certaines des pages de mon site. Le problème est que les anciennes urls d'accès, enregistrées par google ne redirigent pas vers les urls que j'ai réécrites. Ce n'est pas faute d'avoir essayé mais j'ai un gros problème de boucle infinie.
Voilà une de mes règle de réécriture (je met le titre du produit dans les liens vers celui-ci):
Code:
^Article([0-9]+)-Titre-article.php$ articles.php?prod=$1 [L]
Et voici comment j'ai essayé de faire ma redirection:
Dans chaque page réécrite j'inclu un fichier chargé de rediriger le visiteur. Voilà en gros mon code:
Code:
$page = getenv($PHP_SELF); //Recupération du nom du script qui est en train de s'executer
$query = getenv("QUERY_STRING"); // Récupération des paramètres passés au script
if(!empty($query)) //Si il n'y a pas de paramètres, on ne redirige pas
{
switch($page)
{
case "articles.php":
{
if(!empty($prod) && is_numeric($prod))
{
$titre= recup_titre(); //Je récupère le titre de mon article
$url = make_url("Article",$prod,$titre); //Je construis l'url de redirection( url réécrite)
header("Location: $url");
}
break;
}
}
}
Le problème, c'est que lorsque j'appelle par exemple la page articles.php?prod=15, mon script me redirige bien vers Article15_Titre.php, mais une fois que la page Article15_Titre.php est appelée, la variable $page ne prend pas la valeur Article15_Titre.php mais toujours articles.php. Résultat: J'ai une redirection infinie vers Article15_Titre.php. J'aimerai donc savoir comment connaître le nom du fichier chargé tel qu'il apparaît dans la barre du navigateur et non en interne.
Ca devrait ensuite me permettre de faire correctement les redirections.
Merci beaucoup à ceux qui essayeront de m'aider
@+