URL qui font doublon

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par poupilou, 19 Septembre 2011.

  1. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    584
    J'aime reçus:
    0
    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 ? ?
     
  2. jvgamers
    jvgamers WRInaute discret
    Inscrit:
    13 Juillet 2004
    Messages:
    91
    J'aime reçus:
    0
    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é.
     
  3. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    2 178
    J'aime reçus:
    0
    @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.
     
  4. jvgamers
    jvgamers WRInaute discret
    Inscrit:
    13 Juillet 2004
    Messages:
    91
    J'aime reçus:
    0
    Bien vu... Pfiou, j'étais fatigué hier. Merci d'avoir corriger mes boulettes.
     
  5. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    13 577
    J'aime reçus:
    0
    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.
     
  6. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    584
    J'aime reçus:
    0
    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 ?
     
  7. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 419
    J'aime reçus:
    9
    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).
     
  8. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    2 178
    J'aime reçus:
    0
    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.
     
  9. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    584
    J'aime reçus:
    0
    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/​ ?
     
  10. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    2 178
    J'aime reçus:
    0
    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.
     
  11. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    13 577
    J'aime reçus:
    0
    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.