Redirection permanente de 600 pages : comment faire ?

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Redirection permanente de 600 pages : comment faire ?

Message le Dim Déc 18, 2005 0:37

Bonjour,

Je modifie actuellement un site. Plus de 600 pages sont actuellement référencées par Google et leur accès via les urls référencées a a été détruit. N'ayant jamais pratiqué l'url rewriting (il me semble qu'il s'agit de la méthode à employer dans mon cas :- ?), j'aimerais avoir quelques conseils pour effectuer la transformation suivante :

-www.site.com/titre_du_texte_338.html --> -www.site.com/page.php?id=338&titre=titre-du-texte

Je ne sais absolument pas comment faire la chose. Ca se passe dans le .htaccess c'est ça ?


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Dim Déc 18, 2005 1:03

Code: Tout sélectionner
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)-([0-9]*)\.html$ page.php?id=$2&$1 [L]


C'est bien dans le htaccess


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Dim Déc 18, 2005 1:11

Mmm ça n'a pas l'air de marcher. Les pages sont toujours des pages d'erreur serveur (page innexistante).


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Dim Déc 18, 2005 5:00

RewriteEngine on
RewriteRule ^(.+)_([0-9]+)\.html$ page.php?id=$2&titre=$1 [L]


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Dim Déc 18, 2005 10:14

Code: Tout sélectionner
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)-([0-9]*)\.html$ /page.php?id=$2&$1 [L]


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Dim Déc 18, 2005 12:09

Pas tout à fait encore :(.

-www.boiteareves.com/reve.php?id=338&titre=reve_la_banquise
ne donne toujours pas
-www.boiteareves.com/reve.php?id=338&titre=La-banquise

Avec le code de correiaj l'url reste la même (en remplaçant le L par R). [Edit : en fait non, c'était une mauvaise manip : ça marche presque en fait]
Avec le code de borower l'url devient (toujours en remplaçant L par R) : -www.boiteareves.com/home/boiteare/www/reve.php?id=338&titre=reve_la_banquise (si c'était -www.boiteareves.com/reve.php?id=338&titre=reve_la_banquise ça afficherait déjà la page, pas tout à fait avec l'url voulue mais ce serait déjà mieux :) )
Dernière édition par yazerty le Lun Déc 19, 2005 12:18, édité 1 fois.


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Re: Redirection permanente de 600 pages : comment faire ?

Message le Dim Déc 18, 2005 15:28

yazerty a écrit:Bonjour,

Je modifie actuellement un site. Plus de 600 pages sont actuellement référencées par Google et leur accès via les urls référencées a a été détruit. N'ayant jamais pratiqué l'url rewriting (il me semble qu'il s'agit de la méthode à employer dans mon cas :- ?), j'aimerais avoir quelques conseils pour effectuer la transformation suivante :

-www.site.com/titre_du_texte_338.html --> -www.site.com/page.php?id=338&titre=titre-du-texte

Je ne sais absolument pas comment faire la chose. Ca se passe dans le .htaccess c'est ça ?

Pour moi tu veux que lorsque l´on tape:
-www.site.com/titre_du_texte_338.html
apache appelle le fichier -www.site.com/page.php
avec les variables id=338&titre=titretexte
Donc c´est bien ce que je t´ai donné:
RewriteEngine on
RewriteRule ^(.+)_([0-9]+)\.html$ page.php?id=$2&titre=$1 [L]

Borower:
"_" et "-" ne sont pas les même caractères. et option FollowSymlink n´a rien à faire dans un .htaccess. Cela doit se trouver dans le httpd.conf si tu as un hébergement digne de ce nom... ;-)


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Dim Déc 18, 2005 15:29

Peut être serait-il plus simple si tu nous donnais le caractère remplacant les espaces dans ton titre: est-ce _ ou - ou autre.
Et ce serait bien de ne pas utilser le même que celui qui sépare les deux valeurs de variable...


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Dim Déc 18, 2005 18:11

Je le refais parce que je suis en train de m'emmêler les pinceaux je crois :oops:.

Google indexe actuellement les pages suivantes :
-http://www.boiteareves.com/reve_la_banquise_338.html

Ces pages sont maintenant sous la forme :
-http://www.boiteareves.com/reve.php?id=338&titre=La-banquise
(donc avec des variables en plus, des _ remplacés par des -, le "reve" en mois avant le titre...)

J'aimerais donc que Google comprenne que les pages qu'il a en mémoire sont devenues reve.php....

J'ai laissé le code que tu m'a donné sur mon .htaccess correiaj. Sauf que j'ai modifié le [L] en [R] pour voir la transformation. Il donne une url sous cette forme là :
-http://www.boiteareves.com/home/boiteare/www/reve.php?id=338&titre=reve_la_banquise

Il y a un problème de chemin d'accès non ?
Je passe le titre dans l'url mais l'id seul permet d'afficher la page.
Pour le titre c'est avec des tirets, sans le "reve" au début, et avec une majuscule (si Google se fiche des majuscules alors tant pis).
C'est possible avec le rewritting :- ?


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Lun Déc 19, 2005 13:08

Je laisse tomber mon idée de rewritting :( ?


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Lun Déc 19, 2005 13:50

Non, c´est juste que dimanche, c´était Boca - Pumas. Et donc après une telle fête, c´est dur de se remettre à bosser ;-)

Ça devient plus clair:

Alors dans ton cas, essaye avec une adresse absolue:
ça reglera le probleme du chemein et de la redirection
RewriteEngine on
RewriteRule ^reve_([^_]+)_(.*)_([0-9]+)\.html$ /reve_$1-$2_$3.html
RewriteRule ^reve_(.+)_([0-9]+)\.html$ http://www.example.com/reve.php?id=$2&titre=$1

Essaie d´abord avec la seconde règle. Si ça marche essaye avec les 2. La première sert à remplacer les _ par des -,...
Voila


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Lun Déc 19, 2005 16:02

Magniifiiique :D :D :D !

Un très très grand merci à toi correiaj !

Si j'ai bien compris lors de la prochaine vérification de son index Google comprendra que les pages sous la forme -www.boiteareves.com/reve_la_banquise_338.html sont devenues les pages -www.boiteareves.com/reve.php?id=338&titre=la-banquise
et donc Google effacera les anciennes url au profit des nouvelles. Les nouvelles url bénéfécieront du PR des anciennes url.
J'ai bon ?

Autre question : je peux mettre un [R] à la fin du rewrite, pour que les visiteurs qui arrivent par là aient la bonne url (si ils veulent la mettre en favori ou autre...) ? Ca n'influencera rien ?


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Lun Déc 19, 2005 16:41

Ben en fait, ce qui serait le mieux serait ceci pour google et compagnie:

RewriteEngine on
#remplace les _ en -
RewriteRule ^reve_([^_]+)_(.*)_([0-9]+)\.html$ /reve_$1-$2_$3.html

#Redirection propre vers les nouvelles URL
RedirectMatch permanent ^reve_(.+)_([0-9]+)\.html$ http://www.example.com/reve.php?id=$2&titre=$1

Mais tu peux simplement mettre un drapeau redirection 302 a la règle précedente ( [R=302] )


yazerty
WRInaute accro
WRInaute accro
 
Messages: 1682
Inscription: Dim Juin 19, 2005 19:47

Message le Lun Déc 19, 2005 17:20

301 non dans mon cas (redirection permanente) ?

Si l’argument code n’est pas précisé, une redirection 302 (déplacé temporairement) est effectuée. Si vous souhaitez faire savoir au navigateur/robot qu’une page a été remplacée définitivement, utiliser le code 301 comme dans :
RewriteRule ^ancien\.html$ http://domaine.tld/nouveau.html [R=301,L]

http://www.webmaster-hub.com/publication/article5.html (je viens de découvrir cette page via un autre post de WRI)


Ca me donnerait donc :
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^reve_([^_]+)_(.*)_([0-9]+)\.html$ /reve_$1-$2_$3.html
RewriteRule ^reve_(.+)_([0-9]+)\.html$ http://www.boiteareves.com/reve.php?id=$2&titre=$1 [R=301,L]
RewriteRule ^commentaire_([^_]+)_(.*)_([0-9]+)\.html$ /reve_$1-$2_$3.html
RewriteRule ^commentaire_(.+)_([0-9]+)\.html$ http://www.boiteareves.com/reve.php?id=$2&titre=$1 [R=301,L]

(ui j'ai aussi la même chose à faire avec les pages "commentaires"...)


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Lun Déc 19, 2005 18:09

Oui 301, excuse, c´est vraiment dur aujourd´hui :-)

Redirection permanente de 600 pages : comment faire ?

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités