ZuckBin Posté 22 Octobre 2008 Posté 22 Octobre 2008 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.
ZuckBin Posté 24 Octobre 2008 Auteur Posté 24 Octobre 2008 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.
Jeanluc Posté 24 Octobre 2008 Posté 24 Octobre 2008 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
ZuckBin Posté 24 Octobre 2008 Auteur Posté 24 Octobre 2008 Il y a du texte avec des tirets à l'intérieur. Exemple: tourisme-route-des-vins-9-0-Les-vignobles-d-Ile-de-France-de-Suresnes-a-Paris.html
Jeanluc Posté 24 Octobre 2008 Posté 24 Octobre 2008 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
ZuckBin Posté 24 Octobre 2008 Auteur Posté 24 Octobre 2008 (modifié) 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é 24 Octobre 2008 par ZuckBin
Jeanluc Posté 24 Octobre 2008 Posté 24 Octobre 2008 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
ZuckBin Posté 24 Octobre 2008 Auteur Posté 24 Octobre 2008 (modifié) 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é 24 Octobre 2008 par ZuckBin
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant