Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

redirection article_1_3_4 vers article-1-3-4

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
srangaya
Nouveau WRInaute

Inscrit le: 11 Mar 2008
Messages: 3
Localisation: Paris, FR

URL permanente de ce messagePosté le : Mar Mar 11, 2008 17:54    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Bonjour à tous,

Je profite que WRI soit de nouveau de retour pour m'inscrire et poser ma première question Very Happy.

Est-ce que vous sauriez s'il est possible de faire une redirection permanante de type article_truc_machin_bidule vers article-truc-machin-bidule (il s'agit donc de remplacer tous les underscores par des tirets, sachant que le nombre d'underscore peut varier) en htaccess.

Pour ceux que ça intéresse, Google a référencé un tas d'articles en www.site.com/rubrique/article_truc_machin_bidule.php qui se nomment désormais www.site.com/rubrique/article-truc-machin-bidule.php. Ces nouvelles pages ont été référencés à nouveau mais j'aimerai créer cette URL pour ne pas que mes visiteurs ne tombent sur une page 404 Smile.

J'ai regardé les articles sur l'URL Rewriting mais je n'ai pas trouvé pour ce schéma.

Merci d'avance pour votre aide,

Stéphane R.
 
srangaya
Vap
WRInaute accro
WRInaute accro

Inscrit le: 17 Juin 2007
Messages: 1035
Localisation: Bouches-du-Rhône

URL permanente de ce messagePosté le : Mar Mar 11, 2008 18:11    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Tu peux faire une règle par nombre de soulignés présent. Pour deux par exemple:

Code:

RewriteRule rubrique/([^_]+)_([^_]+)_([^_]+).php rubrique/$1-$2-$3.php [L,R=301,QSA]
 
Vap Visiter le site web du posteur
srangaya
Nouveau WRInaute

Inscrit le: 11 Mar 2008
Messages: 3
Localisation: Paris, FR

URL permanente de ce messagePosté le : Mar Mar 11, 2008 18:56    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Vap a écrit:
Tu peux faire une règle par nombre de soulignés présent. Pour deux par exemple:

Code:

RewriteRule rubrique/([^_]+)_([^_]+)_([^_]+).php rubrique/$1-$2-$3.php [L,R=301,QSA]


Merci Vap ! Il y a un moyen pour que cela fonctionne pour quelque soit le nombre d'underscore ou il faut ajouter une ligne pour chaque nombre ?
 
srangaya
Djoule_logo
WRInaute passionné
WRInaute passionné

Inscrit le: 30 Mai 2007
Messages: 660

URL permanente de ce messagePosté le : Mar Mar 11, 2008 19:01    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Je ne suis pas sur de mon coup, mais je dirai une ligne par nombre d'undersocre possible.
 
Djoule_logo Visiter le site web du posteur
Vap
WRInaute accro
WRInaute accro

Inscrit le: 17 Juin 2007
Messages: 1035
Localisation: Bouches-du-Rhône

URL permanente de ce messagePosté le : Mar Mar 11, 2008 19:12    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Oui, une ligne par nombre.

L'expression régulière suivante correspond à un nombre illimité de soulignés. Le problème, c'est qu'on ne peut pas récupérer les sous expressions avec la syntaxe de mod_rewrite:

Code:

(([^_]+)_)*[^_])
 
Vap Visiter le site web du posteur
arnaudmn
WRInaute accro
WRInaute accro

Inscrit le: 11 Mai 2005
Messages: 1423

URL permanente de ce messagePosté le : Mar Mar 11, 2008 21:02    Sujet du message: redirection article_1_3_4 vers article-1-3-4

Si le nomre de "_" est indéfini, fait la redirection directement dans ton script qui gère ta rubrique (vu que je suppose que ça doit être généré depuis une bdd).
En début de script, un truc du style :
Code:
if (strpos($_SERVER['REQUEST_URI'], "_")!==false) {
   $re = substr($_SERVER['REQUEST_URI'], "_", "-");
   header("Status: 301 Moved Permanently", false, 301);
   header("Location: ".$re);
   exit();
}
 
arnaudmn Visiter le site web du posteur
Vap
WRInaute accro
WRInaute accro

Inscrit le: 17 Juin 2007
Messages: 1035
Localisation: Bouches-du-Rhône

URL permanente de ce messagePosté le : Lun Mar 17, 2008 19:29    Sujet du message: redirection article_1_3_4 vers article-1-3-4

J'ai trouvé comment faire ça uniquement avec mod_rewrite. Il suffit de faire une redirection externe, pour pouvoir traiter l'url bout par bout.

La règle suivante (testée en local) fait le boulot:

Code:

RewriteRule ^(.+)_([^_]+)\.php http://localhost/$1-$2.php [R=301]


Par exemple, -http://localhost/article_1_2_3_4.php est réécrit en -http://localhost/article-1-2-3-4.php
 
Vap Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort