Redirection 301 : url rewrité vers url rewrité

Nouveau WRInaute
Bonjour à tous,

A vrai dire, je galère depuis des semaines avec mon URL Rewriting :
J'avais déjà implanté un système de rewriting dynamique grace à PHP qui me réécrivait les URLs à la volées avec les régles dans l'.HTACCESS

Mais j'ai voulu pousser le système un peu plus loin, et l'améliorer donc.
Cependant je me retrouve maintenant comme un idiot avec une histoire de duplicate content.
Je pensais que google aller suivre les nouvelles URLs, mais apparamment (avec la commande site:*****.com) non seulement il référence les nouvelles pages mais aussi les anciennes ... le pire scénario possible quoi.

J'ai donc deux règles dans mon htaccess pour que les deux URLS (la première pour le client venant des moteurs arrivent toujours vers mon site histoire qu'il n'arrive pas sur une page Erreur 404) co-existent.

Donc je cherche des ames charitables car là je craque totalement :evil: !
Voici le code concerné (je ne donne pas l'adresse du site : site commercial)
Code:
RewriteEngine On 
RewriteBase /home/

RewriteRule ^(.*)/ask-question/([0-9]+).php$ ask_question.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-a-([0-9]+).php$ ask_question.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)/category/(.*).php$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).php$ index.php?cPath=$2&%{QUERY_STRING} [R=301]

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

RewriteRule ^(.*)/product-reviews/([0-9]+).php$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pr-([0-9]+).php$ product_reviews.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)/product-reviews-info/([0-9]+).php$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-([0-9]+).php$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)/product-reviews-write/([0-9]+).php$ product_reviews_write.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-prw-([0-9]+).php$ product_reviews_write.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)/tell-a-friend/([0-9]+).php$ tell_a_friend.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-t-([0-9]+).php$ tell_a_friend.php?products_id=$2&%{QUERY_STRING}

Donc j'ai presque tout vu sur internet : FLAG [R=301], le RewriteCond, etc.
J'aimerais plutot utilisé les possibilité d'Apache plutot que de PHP plus chiante à mettre en place à mon avis.
mais rien ne donne de résultat : Erreur 500 je sais plus quoi !

Cordialement
 
WRInaute occasionnel
J'aurrais vu quelque chose dans ce style là plutôt :
La 1er règle gère les ancienne URL venant des moteurs
a 2eme règle gère le rewrite standard.
Code:
RewriteRule ^(.*)/ask-question/([0-9]+).php$ $1-a-$2.php [QSA,R=301,L]
RewriteRule ^(.*)-a-([0-9]+).php$ ask_question.php?products_id=$2 [QSA,L]
 
Nouveau WRInaute
Tout d'abord merci de m'avoir répondu.

Code:
RewriteRule ^(.*)/ask-question/([0-9]+).php$ $1-a-$2.php [QSA,R=301,L]
Concernant le code pourquoi rediriger vers .../ask-question/... ?
Alors que c'est justement ces adresses que je veux enlever de l'index de Google ?

ça ne donnerait pas ça plutot ?
Code:
RewriteRule ^(.*)-a-([0-9]+).php$ $1/ask-question/$2.php [QSA,R=301,L]

Merci de ton aide.
 
Discussions similaires
Haut