Aller au contenu

Redirection 301 avec params


Sujets conseillés

Bonjour,

Désole, toujours et encore la même chose.

J'ai ceci, que je souhaite rediriger en 301:

RewriteRule ^oenotourisme-route-des-vins-(.*)-(.*)\.html$ /mappy-route\.php?id=$1⊂=$2  [NC,L]

et souhaite re-écrire en par exemple ceci:

tourisme-route-des-vins-2-54.html

Merci de votre aide,

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Je vais re expliquer mon cas.

Je ne sais quelle est la bonne méthode pour rediriger sans avoir de duplicate content.

Ancienne regle:

RewriteRule ^oenotourisme-route-des-vins-(.*)-(.*)\.html$ /mappy-route\.php?id=$1⊂=$2  [NC,L]

Nouvelle regle:

RewriteRule ^tourisme-route-des-vins-([0-9]+)-([0-9]+)-(.*)\.html$ /mappy-route\.php?id=$1⊂=$2  [NC,L]

Comment à partir de l'ancienne regle, je peu mettre en place la nouvelle, faire la redirection et ne pas avoir de duplicate content ?

Comme ceci ?

RewriteRule ^oenotourisme-route-des-vins-(.*)-(.*)\.html$ /tourisme-route-des-vins-([0-9]+)-([0-9]+)-(.*)\.html$ [R=301,L]

je n'ai pas testé la derniere de peur de faire partir le serveur en boucle infini ou un truc du genre.

Merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Qu'est ce qu'il y a dans la troisième parenthèse dans /tourisme-route-des-vins-([0-9]+)-([0-9]+)-(.*)\.html$ ? .htaccess ne peut pas faire un remplacement automatique d'une URL par une autre si tous les éléments ne sont pas définis d'une façon ou d'une autre.

Je pense qu'il y a une erreur dans ton ancienne et dans ta nouvelle règles. Il ne faut pas de \ devant le point dans l'adresse de droite.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux traiter ça dans le .htaccess, il faut que pour chaque URL, tu aies ceci:

RedirectPermanent /oenotourisme-route-des-vins-9-0.html http://www.ton_site.com/tourisme-route-des-vins-9-0-Les-vignobles-d-Ile-de-France-de-Suresnes-a-Paris.html

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

C'est tres bien dans le cas d'une url statique, mais ce sont des urls dynamique.

Avec un Rewritecond ?

ps:j'en ai profité pour nettoyer les \ dans la partie droite avant les . dans les url.

Modifié par ZuckBin
Lien vers le commentaire
Partager sur d’autres sites

Ben oui, mais .htaccess ne peut pas deviner tout seul qu'il doit ajouter un texte comme "Les-vignobles-d-Ile-de-France-de-Suresnes-a-Paris" dans l'URL.

Si la liste à mettre dans .htaccess est trop longue, il vaut mieux gérer cela en PHP. Au début du script, tu vérifies si c'est une ancienne URL et si c'est le cas, tu fais la redirection en allant rechercher le texte à ajouter dans une database.

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Ok, merci, je vais le tenter comme ca ;)

En tentant avec ceci qui est pour une variable, comment proceder pour mes 2 variables ?

	  $URi = $_SERVER["REQUEST_URI"];

$motif = "'(/index\.php\?id=)+([0-9]+)'";
if (preg_match($motif,$URi,$capture))
{
header("Status: 301 Moved Permanently");
header("Location: http://www.site.com/index-$capture[2].html");
exit;
}

Modifié par ZuckBin
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...