URL qui font doublon

WRInaute passionné
Salut,

Depuis un certain temps GG me référence des url bizarres qui font doublons avec les bonnes url.

Mes bonne url sont sous la forme :

Code:
http://www.mon-site.com/repertoire/ma-page.html

GG référence d'autres url qui font doublon, du style :

Code:
http://www.mon-site.com/repertoire/ma-page.html?liste=bidule
http://www.mon-site.com/repertoire/ma-page.html?pseudo=pseudo
etc...

Quel code faudrait-il écrire dans mon htaccess pour rediriger vers la bonne page toutes les url qui comporte un ? après le html sans tout ce qui derrière le ? ?
 
WRInaute discret
Bonjour,

Normalement avec l'URL rewriting :

Code:
RewriteEngine on
RewriteRule ^mapage.html?(.*) mapage.html [R=301]

Je n'ai pas testé mais ça ne devrait pas être loin de la vérité.
 
WRInaute passionné
@jvgamers : c'est pas possible car tout ce qui se trouve après le ? ne peut pas être "matché". Pour cela il faut une RewriteCond :
Code:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^repertoire/mapage\.html$ /repertoire/mapage.html? [L,R=301]
Je suis parti du principe que ces lignes se trouvent dans le .htaccess qui est à la racine.
 
WRInaute accro
poupilou a dit:
GG référence d'autres url qui font doublon, du style...
Elles viennent d'où ces url ? car a la base écrire du code pour patcher un problème c'est bien mais corriger le problème c'est mieux.
 
WRInaute passionné
Merci pour vos réponses et merci pour le bout de code forty qui marche parfaitement :D

En fait zeb à vue juste mais d'où proviennent ces url bizarres, GG m'en sort à la pelle du style :

Code:
http://www.mon-site.com/repertoire/ma-page.html?liste=bidule
http://www.mon-site.com/repertoire/ma-page.html?pseudo=pseudo
http://www.mon-site.com/repertoire/​fun​cti​on.​inc​lud​e
http://www.mon-site.com/repertoire/fun​cti​on.​mys​ql-​res​ult
http://www.mon-site.com/repertoire/ma-page.htmlkhfhsd
etc...

J'ai fait une recherche sous GG pour voir quelles pages de mon site pouvaient contenir ces url bizarres mais il ne les trouve pas, avez-vous une piste pour que je puisse trouver les pages de mon site qui pourraient contenir des url bizarres ?
 
WRInaute accro
Crawler ton site avec Xenu Link Sleuth, qui te permettra déjà de vérifier si ça vient d'un souci de conception interne (+vérifier les url soumisses via le sitemap ou les flux RSS).
 
WRInaute passionné
fun​cti​on.​inc​lud​e et fun​cti​on.​mys​ql-​res​ult proviennent de messages d'erreurs de PHP. Pour les éviter il faut regarder du côté des fonctions set_error_handler() et error_reporting().
Pour les autres je ne sais pas. Regarde du côté de GWT, ca indique parfois un lien foireux sur un site externe.
 
WRInaute passionné
J'ai crawlé mon site avec Xenu Link Sleuth et il n'y a aucune url bizarre contenant des html?liste= ou http://www.mon-site.com/repertoire/​fun​cti​on.​inc​lud​e je pige plus rien :oops: pour que GG référence une url c'est qu'il l'a trouvé sur le site, on est bien d'accord ?

Avez-vous d'autres pistes ?

Une url du style http://www.mon-site.com/repertoire/​fun​cti​on.​inc​lud​e qui fait une erreur 404 est-elle considéré par GG comme une page doublon de http://www.mon-site.com/repertoire/​ ?
 
WRInaute passionné
quand la fonction include rencontre un problème ça génère une erreur et affiche (si tu n'as pas désactivé son affichage) un truc du style :
Code:
<b>Warning</b>:  include(fichier_avec_un_probleme.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in  ...
tu te retrouves donc avec un lien vers un fichier "function.include" dans le répertoire courant. Ce genre d'erreur arrive de temps en temps et tu ne peux pas y faire grand chose à mon avis. Ca peut venir d'un problème disque temporaire, d'un include en même temps qu'une modif du fichier, ...

Pour les autres erreurs les liens erronés peuvent être externes.
 
WRInaute accro
pour les pages d'erreur php perso je les gère dans le htaccess avec un truc comme ça :

RewriteRule ^(.*)/function(.*)$ http://www.example.com/erreur/404.php [R=301,L]

ma page 404 est en noindex, donc tous les liens pourri de ce genre (problème serveur, script planté etc ...) conduisent définitivement les bot vers une page pas indexée qui répond qu'elle n'existe plu.

edit : pour le hta, je n'ai aucun script qui contiens le mot "function" donc ça passe.
 
Discussions similaires
Haut