iznoka Posté 25 Mars 2009 Posté 25 Mars 2009 Bonjour à tous, je suis nouveau sur le forum et je viens demander votre aide. Cela fait deux jours que je consulte les posts et tutos sur le sujet mais je n'arrive toujours pas à résoudre mon problème. Je travail actuellement sur un site et j'ai dû faire quelques modifications dans l'ordre des rubriques et catégories. le problème est que Google garde indexé les anciennes url et je voudrais donc faire une redirection. Il y a déja une réécriture d'url qui est la suivante : RewriteRule ^([0-9]+)-([a-z-]*)\.html index.php?rub=$1 [NC,QSA,L] Ca donne ceci : http://www.exemple.com/3-orange.html http://www.exemple.com/4-rouge.html http://www.exemple.com/5-vert.html http://www.exemple.com/6-bleu.html etc Jusque la tout va bien, pour le référencement c'est une bonne chose ! Maintenant il faudrait par exemple que cette url: http://www.exemple.com/3-orange.html soit redirigée vers: http://www.exemple.com/4-orange.html Je ne sais pas du tout comment m'y prendre, j'espere avoir quelques conseils. Merci d'avance.
astrofiles Posté 25 Mars 2009 Posté 25 Mars 2009 (modifié) Bonjour, Est ce que tu peux préciser ta logique de redirection d'url et quel est ton objectif car là ton seul exemple n'est pas très clair je trouve Modifié 25 Mars 2009 par astrofiles
Dan Posté 25 Mars 2009 Posté 25 Mars 2009 Au début de tes règles tu ajoutes celle(s) ci ... (mais AVANT les autres) Mets-les avant le "RewriteEngine on" RedirectPermanent 3-orange.html http://www.exemple.com/4-orange.html
Jeanluc Posté 25 Mars 2009 Posté 25 Mars 2009 Essaie ceci: RewriteRule ^3-orange.html$ http://www.exemple.com/4-orange.html [L,R=301] A placer avant les règles de réécritures existantes. Tu peux ajouter une ligne comme celle-ci pour chaque redirection. Comme le suggère astrofiles, si tu dois faire un grand nombre de redirections et s'il existe une règle systématique pour passer de l'ancienne adresse à la nouvelle, on peut trouver une formule générale valable pour plusieurs adresses. Jean-Luc [edit] Dan est trop rapide. Je ne suis pas certain que l'ordre d'exécution puisse être contrôlé si on combine "RedirectPermanent" et "RewriteRule" ? [/edit]
Dan Posté 25 Mars 2009 Posté 25 Mars 2009 Normalement, un RedirectPermanent placé AVANT les règles de mod_rewrite est exécuté en premier lieu... Donc cela ne devrait pas poser de souci
iznoka Posté 25 Mars 2009 Auteur Posté 25 Mars 2009 jean luc !!! Ton code marche !!! Bon maintenant je sais que j'ai une 20aine d'url à rediriger de ce type (et ce n'est que la première partie du travail) je suppose que je suis obligé de les faire une par une ?
iznoka Posté 25 Mars 2009 Auteur Posté 25 Mars 2009 Bon en tout cas je tenais à vous remercier pour votre aide et surtout la rapidité de vos réponse. Maintenant Lorsque je veux suprimer une url, comment définir qu'elle n'existe plus ? je la redirigie sur l'index ?
captain_torche Posté 25 Mars 2009 Posté 25 Mars 2009 Tu fais en sorte qu'elle génère une en-tête 404.
iznoka Posté 25 Mars 2009 Auteur Posté 25 Mars 2009 Etant plutôt novice (c'est la première fois que je touche au fichier htaccess), je n'ai aucunne idée de la ligne de code à écrire. Pourriez vous me donnez plus d'informations ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant