Version complète: sur le forum Webmaster Hub : Comment rediriger ancien site vers nouveau site ?
Webmaster Hub > Promotion de Sites Internet > Techniques de Référencement
vincedo
Bonjour,

Je voudrais changer la structure d'URL d'un de mes sites sans perdre le bénéfice accumulé au fil des mois pour le référencement.

Je voudrais donc mettre en place une table de redirection du style :

AncienneURL_A ==> NouvelleURL_A
AncienneURL_B ==> NouvelleURL_B
...

Malheureusement, je ne peux pas mettre en place de règle de ré-écriture car il est impossible de déduire les nouvelles URL à partir des anciennes. J'aurais donc besoin d'implémenter manuellement une redirection pour chaque ancienne URL vers la nouvelle URL correspondante.

1) Comment implémenter ça de façon élégante ?
2) Sachant qu'il y a environ 5000 URL à rediriger, cela risque-t-il de ralentir sensiblement mon site ?

Merci,
Vincent
georges
5000 urls à rediriger manuellement vers 5000 autres urls sans passer par l'url-rewriting, je ne sais pas si ça va être élégant mais ça va être harrassant pour celui qui va devoir le faire wacko.gif et je pense humblement que c'est carrément utopique même d'y songer... ou alors je n'ai pas tout compris... unsure.gif
vincedo
Ben pourquoi utopique ?

La correspondance entre anciennes et nouvelles URL sera générée par un script. Est-ce que ce script ne peut pas - "tout simplement" - écrire 5000 lignes du style (c'est un exemple, je n'y connais rien) :

Redirect URL_A URL_B

Puis je mets ça dans un .htaccess ?
georges
oui, mais tu déclares juste avant :
CITATION
Malheureusement, je ne peux pas mettre en place de règle de ré-écriture car il est impossible de déduire les nouvelles URL à partir des anciennes.

donc aucun script ne pourra générer automatiquement les nouvelles urls à la volée puisqu'il n'y a pas de "logique"... je veux dire que si l'on ne peut "pas mettre en place de règle de ré-écriture", on ne peut pas non plus créer un script qui le fera à ta place q_smallexcla.gif

EDIT -> cela dit, si par un moyen quelconque (mais c'est pas clair wacko.gif ), tu arrives à générer tes nouvelles urls, la réponse est oui, tu peux ensuite tout balancer dans un htaccess.. sauf je n'ai jamais utilisé de htaccess de 5000 lignes..
vincedo
Je me doutais que tu dirais ça. smile.gif

Ce n'est pas parce que je ne peux pas déduire les nouvelles URL à partir des anciennes que je ne peux pas écrire un script qui génère une correspondance entre les nouvelles est les anciennes. Je m'explique...

La ré-écriture d'URL est une manipulation purement sémantique : on réorganise les fragments de l'URL_A pour forger l'URL_B. Ainsi, pour générer URL_B, on ne dispose que des infos fournies par URL_A.

Mon script, lui, aura accès à la base de données de l'ancien et du nouveau site. Il peut donc : 1) générer les anciennes url, 2) générer les nouvelles url, 3) faire correspondre les anciennes et les nouvelles.
georges
ok, dans ce cas, rien n'empêche alors de tout mettre à la volée dans un htaccess alors tongue.gif mais je ne sais pas la réaction d'un serveur devant l'analyse de 5000 règles de redirection.

Bonne continuation smile.gif
vincedo
Merci Georges.
Ma question était aussi : que faut-il écrire dans le .htaccess ? Tu pourrais indiquer un exemple de ligne qui fait une redirection permanente de URL_A vers URL_B ? Merci.
DidierK
CITATION(vincedo @ mercredi 7 février 2007, 15h28) *
Ma question était aussi : que faut-il écrire dans le .htaccess ? Tu pourrais indiquer un exemple de ligne qui fait une redirection permanente de URL_A vers URL_B ? Merci.

RedirectPermanent /URL_A h..p://Nom_de_domaine/URL_B
ou bien
RedirectPermanent URL_A h..p://Nom_de_domaine/URL_B

Fais un test pour voir si tu as besoin du / devant l'ancienne URL. Ca semble dépendre de la config du serveur (?).
vincedo
OK, merci beaucoup.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.