Redirection 301 d'URLs réécrites

WRInaute passionné
Bonjour à tous,

J'ai mis en place un système de rewriting sur mon site dans mon .htaccess de cette manière
Code:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^imprimantes.fr
RewriteRule (.*) http://www.imprimantes.fr/$1 [R=301]
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}

Celà fonctionne car les URLs sont bien réécrites. Mon problème c'est que j'aimerais redirigé des URLs réécrites "fausses" vers les bonnes URLs réécrites car GoogleBot explore mal mon site, j'ai donc bloqué les URLs via robots.txt mais c'est vraiment pas top. Par exemple, j'aimerais redirigé les adresses du style
-http://www.imprimantes.fr/cartouche-jet-encre-canon-c-21_53.html?page=6&sort=4d?sort=4d
vers
-http://www.imprimantes.fr/cartouche-jet-encre-canon-c-21_53.html?page=6
etc...

Je pourrais réécrire toutes les règles qui me conviennent le problème c'est que je ne sais pas comment on récupère un parametre d'url (ici 'page') pour le gardé et redirigé la page sans tous les autres paramètres (sort était un paramètre de tri qui n'est plus présent sur mon site)

Par ailleurs si on est sur une de mes fiche produit (aucun parametre n'est présent dans l'url) et bien si on en rajoute à la main on n'est pas redirigé vers la bonne url (comme ici sur cette page de wri par exemple)

J'espère que quelqu'un pourra m'aider...
 
WRInaute passionné
J'ai trouvé une solution en mettant une règle dans mon fichier php
Code:
if($_SERVER['REQUEST_URI'] == "/canon-m-2.html?page=3&sort=2d")
   {header("Status: 301 Moved Permanently", false, 301);
   header("Location: http://www.imprimantes.fr/canon-m-2.html");
   exit;}

Cela marche pour ce cas particulier mais est-il possible de mettre des variables dans le test comme dans .htaccess on met (.*) ?
 
WRInaute passionné
C'est bon j'ai réglé mon problême, je teste l'adresse recherchée sous toutes les coutures dans mon fichier php et je renvoie vers la bonne page avec des headers 301, désormais Google peut s'amuser à mettre ce qu'il veut derriere mes urls, il n'y a qu'une seule adresse possible pour une page !

Topic résolu, vous pouvez changer le titre
 
Discussions similaires
Haut