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

2 adresses vers 1 seules

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
 
stephenpuig
Nouveau WRInaute

Inscrit le: 19 Juin 2007
Messages: 4
Localisation: Toulon

URL permanente de ce messagePosté le : Lun Fév 18, 2008 12:35    Sujet du message: 2 adresses vers 1 seules

Bonjour à tous,

Voilà je suis sur une boutique Oscommerce et il y a quelques temps j'ai fait de l'Url rewritting pour mes fiches produits

Ex:
Code:
RewriteRule ^(.*)-([0-9]+)a.php$ product_info.php?products_id=$2


ce qui donnait www.mon-domaine.fr/nom-de-mon-produit-4545.php (4545 étant l'id de mon produit) au lieu de www.mon-domaine.fr/product_info.php?products_id=4545

Le problème c'est qu'il n'y a pas longtemps j'ai du changer ma méthode de réécriture (pour différentes raisons) avec cette méthode:

Code:
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}


ce qui donne: www.mon-domaine.fr/nom-de-mon-produit-p-4545.html (4545 étant l'id de mon produit)

Ma question est toute simple: Comment rediriger mes anciennes urls réécrites (www.mon-domaine.fr/nom-de-mon-produit-4545.php) vers mes nouvelles urls réécrites (www.mon-domaine.fr/nom-de-mon-produit-p-4545.html)

j'ai essayé de faire:
Code:
RewriteRule ^(.*)-p-([0-9]+).html$ (.*)-([0-9]+).php
mais ça ne marche pas Confused

Quelqu'un saurait il comment faire ??

merci beaucoup.
 
stephenpuig
Vap
WRInaute accro
WRInaute accro

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

URL permanente de ce messagePosté le : Lun Fév 18, 2008 14:09    Sujet du message: 2 adresses vers 1 seules

Il faut utiliser une redirection 301 de l'ancienne adressse html vers la nouvelle :

Code:

RewriteRule ^(.*)-([0-9]+).html$ $1-p-$2.html  [R=301]
 
Vap Visiter le site web du posteur
stephenpuig
Nouveau WRInaute

Inscrit le: 19 Juin 2007
Messages: 4
Localisation: Toulon

URL permanente de ce messagePosté le : Lun Fév 18, 2008 15:06    Sujet du message: 2 adresses vers 1 seules

Salut Vap,

Merci pour ta réponse.

Tout mon problème est qu'en fait je veut a la fois rediriger mon ancienne adresse réécrite vers ma nouvelle adresse réécrite, mais aussi bien évidemment faire la réécriture.

je m'explique:

Code:
#Réécriture de l'url d'oscommerce
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}

# Rédirectionnement de mon ancienne url réécrite vers ma nouvelle
RewriteRule ^(.*)-p-(.*).html$ $1-$2.php [R=301]


Si je fait comme cela ça ne marche toujours pas Sad
 
stephenpuig
Vap
WRInaute accro
WRInaute accro

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

URL permanente de ce messagePosté le : Lun Fév 18, 2008 18:57    Sujet du message: 2 adresses vers 1 seules

As tu essayé ce que je propose?

Il s'agit de mettre les deux règles suivantes a la place de celles que tu as mises :

Code:

RewriteRule ^(.*)-([0-9]+).html$ $1-p-$2.html  [R=301]
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}


La première redirige les anciennes html vers les nouvelles. La deuxième interprete les nouvelles par du php.

Il faut la premiere redirection, sinon tu auras un dupplicate content.
 
Vap Visiter le site web du posteur
KOogar
WRInaute accro
WRInaute accro

Inscrit le: 16 Nov 2004
Messages: 2910
Localisation: Bangalore +3h30

URL permanente de ce messagePosté le : Mar Fév 19, 2008 6:22    Sujet du message: 2 adresses vers 1 seules

vap, pour une redirection en .htaccess il te faut une condition... sinon tu fais de la réécriture. Tu captures tes variables dans la condition et tu les retournes dans l'url physique.
so, en PHP ca va + vite à construire et c'est le genre de snippet qu'on aime bien avoir sous la main:

Code:
<?php  $rel = strstr ($url,'-p-');
       if($rel != FALSE) {
          header("Status: 301 Moved Permanently");
          header("Location: http://".$_SERVER['HTTP_HOST']."/".$nom_produit."-".$id.".html");
          } ?>
 
KOogar 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    

En savoir plus : .

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