Aller au contenu

Sujets conseillés

Posté

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.

Posté (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é par astrofiles
Posté

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

Posté

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]

Posté

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 ;)

Posté

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 ?

Posté

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 ?

Posté

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 ?

Veuillez vous connecter pour commenter

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



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