problème car mon url peut être réécrite par le visiteur

Nouveau WRInaute
Je m'explique.

J'ai mis en place une réécriture d'url qui fonctionne mais si j'enlève un caractère ou rajoute un mot, la page s'affiche tout de même.

ex : la page http://www.monsite.com/le-sujet-du-jour-3.html (où 3 est l'id dans la base), peut s'afficher si j'écris http://www.monsite.com/le-jet-du-jour-3.html
Dans mon htaccess j'ai écrit ceci :

Code:
RewriteRule ^([0-9]+)-([^,/]*).html$ /article.php?ref=$1 [L]

Je sais que je ne suis pas le seul dans ce cas (la preuve ici : http://www.olweb.fr/fr/Accueil/100007/Article/50925/insultez-vous-mais-ne-crachez-pas c'est moi qui ait bien sûr réécrit)

mais je ne trouve de solution nulle part. Désolé si j'ai mal cherché.

A propos, est-ce que ça génère du duplicate ?

Merci d'avance
 
WRInaute occasionnel
Où est le problème ?

L'utilisateur s'il modifie l'URL c'est son problème, s'il a que ça à faire. Ca ne génère pas de duplicate car ça se passe dans son navigateur à lui.

Par contre, il faut que tous les liens entrants vers la page soient les bons, c'est sur que si y des liens différents ça va poser un problème. Tu peux utiliser les URL canoniques pour éviter ça.
Fait une recherche sur WRI, Olivier a écrit un article à ce sujet et c'est simple à mettre en oeuvre. Une URL canonique indique au moteur la "vraie URL" de la page, celle et la seule qu'il doit indexer.

Enfin, c'est gênant dans un espace professionnel, si par exemple les membres gèrent leur fiches pour des hôtels par exemple. S'il en modifiant l'ID dans l'URL il peut accéder à l'interface de gestion de l'hôtel voisin, là par contre c'est un souci. Il faut bien vérifier systématiquement avant de donner l'accès que la session de l'utilisateur est celle du proprio de l'ID à atteindre.

J'espère que ça t'a aidé.
 
WRInaute passionné
Ouaip, ca peut dériver ver un chtit bombing ca ;-)
j'ai eu le même problème et je l'ai résolu en vérifiant la réécriture au chargement de la page...
si la réécriture est bonne => on continue
sinon => redirection vers la home ou une 404
 
WRInaute accro
Mountain Magazin a dit:
Où est le problème ?

L'utilisateur s'il modifie l'URL c'est son problème, s'il a que ça à faire. Ca ne génère pas de duplicate car ça se passe dans son navigateur à lui.
si, pour plusieurs raisons : si tu as adsense, gg va indexer cette nouvelle page et elle pourrait se retrouver dans les SERP, avec une url qui ne te convient pas toujours. Le même problème peut se poser avec analytics
 
WRInaute passionné
skyll a dit:
Ouaip, ca peut dériver ver un chtit bombing ca ;-)
j'ai eu le même problème et je l'ai résolu en vérifiant la réécriture au chargement de la page...
si la réécriture est bonne => on continue
sinon => redirection vers la home ou une 404

+1
 
Nouveau WRInaute
Merci pour vos réponses.

Il me semblait bien qu'il y avait un risque, la preuve en est que le lien que que j'ai mis en exemple sur l'OL, (qu'il soit en nofollow ou non) peut-être repris par d'autres et causer des problèmes de duplicate et de bombing, cf Skyll ou encore Leonick. J'ai moi-même fait cette expérience par crainte d'un duplicate potentiellement infini et pour tenter de résoudre le problème, je fais le test sur d'autres sites. Ainsi la page sur laquelle nous écrivons, si je retire un mot de son url (la partie rewritée) la page se recharge avec la bonne url. Sur d'autres sites, c'est, comme le dit Skyll, une 404 ou la home. Mais mes compétences sont assez limitées.

Pour les pages statiques je fais ça :
Code:
<?php
 if ($_SERVER['REQUEST_URI'] != "/mon-url-propre.html")
  {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.monsite.com/mon-url-propre.html');
    exit;
  }
?>

Mais j'ai les plus grande difficultés à vérifier la réécriture au chargement de la page pour les url dynamiques.

Si vous connaissez des tutos à ce sujet, je suis preneur.

Olivier
 
WRInaute passionné
je pense pas qu'il y ai de 'tuto' spécialement pour ca... et la solution vas dépendre de ton code et de la façon dont est concut ton site... :wink:
 
WRInaute passionné
Ben en schématisant, au chargement de ta page tu as l'id et ta règle de réécriture : tu compare ça à l'url (REQUEST_URI)

Si c'est identique c'est bon, dans le cas contraire bye bye
 
WRInaute accro
pour moi non ce n'est pas grave, si (je dis bien si) il référençait la page et si (je dis bien si) il la considérait comme duplicate content, il désindexerait cette page et ne toucherai pas à la bonne page. donc selon moi (je dis bien selon moi) il ne faut pas se casser la tête à checker si l'URL est la bonne ou non.
j'ai toujours fonctionné comme ça avec le htaccess, je n'ai jamais eu le moindre problème. mieux que ça, Google arrive à voir si l'id reste le même mais que l'url change (si le titre de la page change par exemple) et indexe la nouvelle à la place de l'ancienne.

voilou
 
WRInaute accro
e-kiwi a dit:
pour moi non ce n'est pas grave, si (je dis bien si) il référençait la page et si (je dis bien si) il la considérait comme duplicate content, il désindexerait cette page et ne toucherai pas à la bonne page. donc selon moi (je dis bien selon moi) il ne faut pas se casser la tête à checker si l'URL est la bonne ou non.
le problème c'est qu'il risquerait de garder celle avec la mauvaise url comme étant bonne. Et là, si la personne s'amuse à mettre des mots clés orientés X dans les url des pages de ton site (pour des publics jeunes), c'est kiki va avoir un beau filtrage de son site sur ce critère là ? :roll:
 
WRInaute occasionnel
e-kiwi a dit:
pour moi non ce n'est pas grave, si (je dis bien si) il référençait la page et si (je dis bien si) il la considérait comme duplicate content, il désindexerait cette page et ne toucherai pas à la bonne page. donc selon moi (je dis bien selon moi) il ne faut pas se casser la tête à checker si l'URL est la bonne ou non.
j'ai toujours fonctionné comme ça avec le htaccess, je n'ai jamais eu le moindre problème. mieux que ça, Google arrive à voir si l'id reste le même mais que l'url change (si le titre de la page change par exemple) et indexe la nouvelle à la place de l'ancienne.
voilou

C'est l'avis que je partage, à la condition d'utiliser les URL canoniques, c'est ce que j'ai dit plus haut, mais personne n'a relevé.

Sauf erreur de ma part, avec les URLs canoniques, le problème doit être réglé au moins pour google et yahoo ?

Bing, pour l'instant, je m'en occupe pas vraiment, on verra comment ça évolue.
 
WRInaute accro
sachant que la première est plus ancienne, et 99% du trafic se fera sur la bonne url, je vois mal Google imaginer que la nouvelle a plus de sens que l'ancienne.
 
Nouveau WRInaute
J'avais bien noté la remarque sur les url canoniques mais je ne suis pas encore très habile avec ce concept.
D'après moi, et étant donné que mon site est très simple et une même page (pour l'instant) ne pouvant pas être atteinte selon différents critères de recherche ou de catégories, je n'avais pas l'impression que l'url canonique était la solution.

Je recherche plutôt une solution pour la suite, et éviter que des petits malins ne s'emparent de site un peu plus sérieux sur lesquels je travaille et sur lesquels j'ai parfois employé la même technique.
Leonick a dit:
le problème c'est qu'il risquerait de garder celle avec la mauvaise url comme étant bonne. Et là, si la personne s'amuse à mettre des mots clés orientés X dans les url des pages de ton site (pour des publics jeunes), c'est kiki va avoir un beau filtrage de son site sur ce critère là ? :roll:

J'ai donc préféré passer du temps à faire des modifications pour que maintenant si l'url demandée n'est pas la bonne, le visiteur est renvoyé vers la page de sommaire des articles en question. Renvoyer vers la bonne page, je ne sais pas encore le faire et je n'ai plus le temps de m'en occuper ce matin.

Dire que ce n'est pas grave, par contre, ça me semble un peut léger dans la mesure où la contamination sur internet étant ce qu'elle est, n'importe qui pourrait faire circuler un lien comme celui-ci :
http://www.olweb.fr/fr/Accueil/100007/Article/50925/les-footballeurs-sont-des-gros-c
Désolé si ça n'amuse que moi, mais vous remarquerez que j'ai fait l'effort de désactiver le lien qui pourtant fonctionne. Personnellement, je trouve que ce n'est pas très bon pour l'image de la boite.

Bref, en attendant d'aller plus loin, le problème est à présent réglé pour moi mais la conversation est intéressante.
 
WRInaute occasionnel
Oui, c'est vrai, tu n'as pas tort pour les liens à faire circuler...

Mais dans mon cas, des milliers de pages avec pas mal de requête SQL, ça complique et alourdi encore un peu la charge, en faisant des requêtes d'entrée dans la base, pour réécrire l'url et la tester...

C'est déjà passablement complexe, avec une navigation ajax pour partie (avec navig en dur pour les "pas navigateurs", donc indexation des pages)... Bon, j'ai misé sur les URL canoniques, j'ai pas de duplicate, mais rien n'empêche des actions de bombing ou de faire circuler des liens avec des conneries.

Mais c'est vrai que sur mon secteur, c'est peu probable et ça n'aurait pas vraiment d'intérêt.
Tout ça pour dire, que c'est des choix à faire, et que ces choix sont personnels.

Bravo si tu as trouvé ton bonheur, et on espère que chacun de nous aura pu t'aider à sa manière :D
 
WRInaute passionné
et t'as pas moyen de mettre un ID specifique dans ton URL ... des fois faut savoir salir un peu pour rester plus longtemps propre :)
 
WRInaute accro
raljx a dit:
et t'as pas moyen de mettre un ID specifique dans ton URL ... des fois faut savoir salir un peu pour rester plus longtemps propre :)
ça ne change rien, car le problème est bien là : en fait dans l'url on ne tient compte que de l'id et donc /bande-de-gros-c..,145 peut, par gg bombing, remplacer /mon-texte-bien,145
 
Nouveau WRInaute
Leonick a dit:
raljx a dit:
et t'as pas moyen de mettre un ID specifique dans ton URL ... des fois faut savoir salir un peu pour rester plus longtemps propre :)
ça ne change rien, car le problème est bien là : en fait dans l'url on ne tient compte que de l'id et donc /bande-de-gros-c..,145 peut, par gg bombing, remplacer /mon-texte-bien,145
Je ne l'aurais pas mieux dit...
 
WRInaute accro
je le gère à la volée, lors de l'appel d'une page, je recrée virtuellement l'uri et si ça ne correspond pas à celle appelée, je fais un beau 301 sur l'uri ok
 
WRInaute passionné
Leonick a dit:
je le gère à la volée, lors de l'appel d'une page, je recrée virtuellement l'uri et si ça ne correspond pas à celle appelée, je fais un beau 301 sur l'uri ok
c'est une très bonne méthode :mrgreen:
 
Discussions similaires
Haut