Htaccess rewrite 301

WRInaute accro
Bonjour

Je viens de découvrir avec effroi que j'avais un énorme duplicate sur l'accueil de certains de mes sites.
Le duplicate est lié aux URL que GG a crawlé qui se présentes sous la forme :

http://www.example.com/?xxx ou (sur un autre site) http://www.example.com/?p=xxx

Seul l'accueil est concerné.

Je suis bien sur a la recherche de ces urls pour savoir où elles sont apparues pour bien évidement les supprimer et traiter le problème à la racine (mais j'ai pas encore trouvé)
J'ai résolu le souci en incluant un header("Location: http://www.example.com/",TRUE,301) bien placé dans les frontaux qui gèrent les requêtes avec une condition (histoire de sortir du problème rapidement)

Mais je cherche a faire çà plus proprement dans un htaccess et j'ai pas trouvé comment

J'ai testé avec et sans rewrite condition et j'ai rien trouvé avez vous une idée d'une règle qui renverrait tout sur l'accueil quand on a sur l'url d'accueil des paramètres numériques dans le genre des urls en exemple ci dessus ?
 
WRInaute passionné
Salut,

Je précise que je suis une grosse buse dans le domaine mais ça peut peut être faire avancé ton schmilblick..ou pas :mrgreen: !
-http://www.example.com/?p=xxx
Code:
RewriteCond %{QUERY_STRING} p=
RewriteRule ^index\.php$ http://www.example.com? [L,R=301]
 
WRInaute impliqué
tryan a dit:
Salut,

Je précise que je suis une grosse buse dans le domaine mais ça peut peut être faire avancé ton schmilblick..ou pas :mrgreen: !
-http://www.example.com/?p=xxx
Code:
RewriteCond %{QUERY_STRING} p=
RewriteRule ^index\.php$ http://www.example.com? [L,R=301]

Ici, tu captes aussi les paramètres du style : xyzp=.
Pour être sur de capturer que ce paramètre, ceci devrait aller :
Code:
RewriteCond %{QUERY_STRING} ^p=[^&]*$
RewriteRule ^index\.php$ http://www.example.com? [L,R=301]
 
Discussions similaires
Haut