2 adresses vers 1 seules

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

stephenpuig
Nouveau WRInaute
 
Messages: 4
Inscription: Mar Juin 19, 2007 21:34

2 adresses vers 1 seules

Message le Lun Fév 18, 2008 11:35

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: Tout sélectionner
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: Tout sélectionner
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: Tout sélectionner
RewriteRule ^(.*)-p-([0-9]+).html$ (.*)-([0-9]+).php
mais ça ne marche pas :?

Quelqu'un saurait il comment faire ??

merci beaucoup.

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Lun Fév 18, 2008 13:09

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

Code: Tout sélectionner
RewriteRule ^(.*)-([0-9]+).html$ $1-p-$2.html  [R=301]

stephenpuig
Nouveau WRInaute
 
Messages: 4
Inscription: Mar Juin 19, 2007 21:34

Message le Lun Fév 18, 2008 14:06

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: Tout sélectionner
#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 :(

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Lun Fév 18, 2008 17:57

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: Tout sélectionner
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.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3324
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Fév 19, 2008 5:22

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


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 :



Qui est en ligne

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