DC - besoin d'aide avec des URLs mal réécrites

Nouveau WRInaute
Bonjour,

Voilà, je suis confronté à un problème de contenu dupliqué et je m'arrache les cheveux pour le résoudre

résumé de la situation : ces 3 pages mènent vers le même contenu :
A -> http://www.domaine.com/toto-conseils.php (url physique existante mais en lien nul part ..)
B -> http://www.domaine.com/toto-conseils.php?id=3 (url physique avec 1 variable -sachant qu'il peut y avoir une 2ème variable pour le n° de page- indiquée dans certains fichiers du site)
C -> http://www.domaine.com/motcle1-motcle2-motcle3.html (url virtuelle réécrite via le htaccess : url B=>donne URL C)=>les mots clés ne sont pas construits dynmamiquement mais écrit dans le HTACCESS comme ci-dessous!

Code:
RewriteRule ^motcle1-motcle2-motcle3\.html$ toto-conseils.php?id=3 [L]
RewriteRule ^motcle1-motcle2-motcle3,([0-9]+)\.html$ toto-conseils.php?id=3&page=$1 [L]

aucune redirection 301 = contenu archi dupliqué !

Et après plusieurs jours d'essais à parcourir tous les tutos je viens demander de l'aide chez les pro, car je ne me m'en sors pas !

Ce que je voudrais faire (du moins je pense que c'est la meilleure solution mais je me trompe peut être !!!)
R301 de urlB vers urlA
R301 de urlA vers urlC

Précision : il existe aussi des redirections de toto-conseils.php?id=1 vers motcleX-motcleY-motcleZ\.html (là encore les mots ne sont pas construits mais indiqués directement dans le htaccess)

Merci d'avance si vous pouvez m'aider à avancer :oops: 8O
 
Nouveau WRInaute
je sais qu'il n'y a pas de logique dans la ré-écriture actuelle, ce que je voudrais c'est remettre ça au propre quelque soit le sens, sans perdre de position (la page http://www.domaine.com/motcle1-motcle2-motcle3.html est en position 1...)
par contre le trafic et l'indexation du site est en chute libre et régulière depuis avril...le DC commence à peser bien lourd :(
 
Nouveau WRInaute
est-il possible de rediriger URLA vers URLB (URLA avec une variable bien précise) sachant qu'il existe aussi
URLD (URLA avec d'autres variables) ?

je sais...je manque cruellement de connaissance en rewriting...c'est pas faute d'essayer de comprendre, et je sais faire une redirection simple, une R301...... mais résoudre ce problème, je bloque ! :?
J'imagine que je dois passer par PHP et htaccess pour m'en sortir, mais besoin d'un coup de main pour démarrer la tambouille...
 
Nouveau WRInaute
et si je refais tout comme ça, est-ce que c'est correct ?

Code:
RewriteEngine on
RewriteRule ^toto1-toto2-([0-9]+)\.html$ /toto-conseils.php?id=$1 [L]

#je réecrit en 301
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^toto-conseil\.php$ /^toto1-toto2-%1.html? [R=301,L]

ET j'accepte de perdre le référencement sur motcle1-motcle2-motcle3.html ? :(
OU bien est-ce qu'il y a une façon de rediriger la nouvelle url bien réécrite (toto1-toto2-3.html) vers motcle1-motcle2-motcle3.html (par PHP ?)

hum...je ne sais pas si je suis très clair :roll:
 
Nouveau WRInaute
Re: DC - 1 page et 3URL =>réécriture 301

Bon alors puisque je n'ai pas de réponse je vais continuer à m'auto-répondre ...des fois que ça soit utile à quelqu'un :evil:

La solution pour laquelle j'ai opté :

- virer du htaccess les redirections non automatique (donnant : motcle1-motcle2-motcle3.html)
- refait des redirections simples automatiques dans le htaccess
type
Code:
RewriteRule ^toto-conseils-([0-9]+)\.html$ toto-conseils.php?id=$1 [L]
- mis une R301 en php de l'url non réécrite vers la réécrite
Code:
<?php 

      $URi = $_SERVER["REQUEST_URI"]; 

          $motif = "'(toto-conseils\.php\?theme=)+([0-9]+)'"; 
          if (preg_match($motif,$URi,$capture)) 
          { 
          header("Status: 301 Moved Permanently"); 
          header("Location: http://www.domaine.com/toto-conseils-$capture[2].html"); 
          exit; 
          } 

?>

ayant fait une croix sur l'url bien référencé mais remis du poids sur l'autre qui était aussi indexée, j'espère ne pas trop avoir pénalisé mon site...en tout cas je pense que c'est plus "clean" côté DC
 
Discussions similaires
Haut