Souci de redirection 301 via urlrewriting

tyv

WRInaute occasionnel
bonjour,

J'ai un souci concernant des redirections 301 et je n'arrive pas à comprendre pourquoi:

En place j'ai déja du code pour rediriger tout sur le sous domaine www (ça ça marche):
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.bluegger\.com [NC]
RewriteRule (.*) http://www.bluegger.com/$1 [QSA,R=301,L]

Maintenant, je voudrai en plus rediriger d'anciennes adresses vers les nouvelles.
Or quand je fais une redirection de ce type:
Code:
RewriteEngine On
RewriteRule index.php?category=Rfrencement http://www.bluegger.com/index.php?category=Referencement [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.bluegger\.com [NC]
RewriteRule (.*) http://www.bluegger.com/$1 [QSA,R=301,L]

pour rediriger index.php?category=Rfrencement vers index.php?category=Referencement ça ne fonctionne pas.

Je ne sais pas si ça peut jouer mais à part ça c'est un multidomaine hebergé chez ovh.

La question va peut être vous sembler triviale mais je sèche vraiment là...

Merci :)
 

KOogar

WRInaute accro
Code:
RedirectPermanent /index.php?category=Rfrencement  http://www.bluegger.com/index.php?category=Referencement
 

tyv

WRInaute occasionnel
merci , mais j'aurai du préciser que j'ai déja essayé les redirect permanent (avec les trois syntaxes...) mais la page n'est pas redirigée (impossible de voir pourquoi).

Comme j'ai déja de l'url rewriting qui fonctionne je voulais essayer de faire la redirection avec.
 

KOogar

WRInaute accro
et avec RedirectMatch ?

Code:
RedirectMatch 301 index.php?category=Rfrencement$ http://www.bluegger.com/index.php?category=Referencement

ou

Code:
RewriteCond %{QUERY_STRING} index.php?category=Rfrencement$
RedirectMatch 301 (.*) http://www.bluegger.com/index.php?category=Referencement
 

tyv

WRInaute occasionnel
merci mais même résultat. en utilisant un verificateur d'entete, la page apparait comme une page normale (code 200)...
 

tyv

WRInaute occasionnel
excuse moi koogar, j'avais pas vu le deuxième choix.
Le deuxième code renvoie sur
Code:
http://www.bluegger.com/index.php%3fcategory=Referencement?category=Referencement
déja on voit que la redirection fonctionne (pas où il faut mais je suis un peu rassuré )
 

KOogar

WRInaute accro
Et avec le /

Code:
RewriteCond %{QUERY_STRING} ^index.php?category=Rfrencement$ 
RedirectMatch 301 /(.*) http://www.bluegger.com/index.php?category=Referencement
 

tyv

WRInaute occasionnel
merci mais malheureusement, le résultat est le même (et pour toutes les adresses). J'essaye de regarder du coté de urlrewrite (mais le comportement global me parait vraiment curieux...).
 

KOogar

WRInaute accro
oui c'est curieux, les expressions données ci-dessus tournent tres bien sur d'autre hebergeurs mais comme chaque hebergeur se fait une config differente du moteur, c'est toujours tres delicat le rewrite.

Contact ton hebergeur, peut etre qu'en rajoutant "RewriteBase / " ca passe ? Enfin si ta la solution, n'hesite pas a revenir dire ou se trouvais le probleme.
 

tyv

WRInaute occasionnel
merci koogar, je me demande si le problème ne vient pas du multidomaine.

Par contre, toutes les anciennes pages affichent maintenant la page d'accueil (sans changement d'url) et niveau duplicate ça doit pas être terrible.

Si je ne trouve pas le moyen de faire la redirection, faut t'il que je mette un disallow dans le fichier robots.txt pour que les moteurs desindexent toutes ces pages?

Merci encore pour l'aide, c'est vraiment sympa :D
 

KOogar

WRInaute accro
bah les moteurs s'en cale de fichier. the best pour toi est de passer par des header()

Code:
$uri = $_SERVER["REQUEST_URI"];
if($uri=='/index.php?category=Rfrencement')
{
header("Status: 301 Moved Permanently");
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php?category=Referencement");
}

reindexation garantie rapide et aucun souci de mise en place.
 

tyv

WRInaute occasionnel
je sais pas comment te remercier, ça marche niquel!

Il me reste juste un switch à faire pour les 15 adresses à rediriger et ça roule.

Merci encore
:)
 

Discussions similaires

Haut