Bonjour, J'ai installé l'url rewriting sur mon site... Je sais qu'il existe des solutions pour éviter le Duplicat Content.. Mais je voudrais mettre en place sur mon site une solution que j'ai imaginée... Mes anciennes Urls étaient sous cette forme: http://www.monsite.com/modules/news/article.php?storyid=1 Les nouvelles urls rewritées sont sous cette forme: http://www.monsite.com/news+index.storytopic+1.htm Problème les deux Urls sont accessibles. Je voudrais trouver une solution simple qui permet de ne pas autoriser aux visiteurs et aux moteurs de recherche l'accés aux Url commençant par http://www.monsite/modules/... Merci pour vos idées..
Tu dois faire des redirections 301 et/ou utiliser la balise canonical. De cette façon, tu ne perds pas le référencement des anciennes urls.
C'est un site que je suis en train de construire... Il ne contient pas pour l'instant d'articles donc auun contenu référencé... Mettre en place la banalise canonical est trop compliqué pour moi... Je me demande juste s'il exide un code ou un script qui interdit l'accés aux moteurs de recherche mais aussi aux visiteurs à toutes les urls commençant par: http://www.monsite/modules/... Merci
Oula, le 404 c'est un peu radical, Je t propose le fonctionnement suivant, tu mets en place l'algo suivant en haut de chaque page : Tu recherches l'URL tapée par l'internaute ou le robot, "$_SERVER['request_URI']" en php il me semble : if ($_SERVER['request_URI'] == "http://www.monsite.com/modules/news/article.php?storyid=1") { //redirection 301 vers nouvelle URL header("location:http://www.monsite.com/news+index.storytopic+1.htm"); }
Ce n'est pas radicale, c'est ce qu'il veut. Ta redirection en PHP ne sera pas en 301 mais en 302 (redirection temporaire). De plus, ce que tu proposes, c'est une simple redirection permanente d'un htacess.
C'est vrai, mais je ne pense pas qu'il le faille en 302 temporaire, parce que du coup, on laisse penser que l'url qu'on l'on suouhaite atteindre sera un jour prochain à nouveau accessible, ce qu'il ne faut pas pour le ref nat, 301 est plus approprié. Par contre, oui il est tout a fait propre de le faire par htaccess via RedirectPermanent ^/modules/news/article\.php?storyid=$1 http://www.monsite.com/news+index.storytopic+$1.htm Je crois que c'est la bonne syntaxe, mais à vérifier
Merci j'ai essayé de mettre cela dans mon fichier Htacess (je suis chez OVH): RedirectPermanent ^/modules/news/article\.php?storyid=$1 http://www.monsite.com/news+index.storytopic+$1.htm Et il ne se passe rien les deux urls restent accessibles. Même si ça marchait est-ce que ça voudrait dire que je devrais mettre manuellement l'adresse de chacun de mes articles dans le fichier Htaccess? Il n'y a t-il pas une solution plus radicale et automatique?
Essaye sinon la solution que je te donnais plus haut, tu fais la détection de l'URL tapée, si elle est de la forme ancienne URL, renvoie en 301 vers la nouvelle, dans le genre radical et je ne me prend pas la tête, c'est pas mal
Bon, dans le htaccess, tu dois avoir un truc comme ceci, dans tous les cas : 1. Maintenant, en haut de ton script, tu ajoutes : 2. L'autre solution est de faire un redirect permanent en htaccess : PS : je ne suis pas sûr pour la syntaxe de la solution 2 Dans tous les cas, si tu as bien fait ton taff en amont, tu ne devrais avoir que des URLs du type : http://www.monsite.com/news+index.storytopic+$_GET['id_news'].htm Voilà, en espérant que cela t'aide RE-PS : solution du link rel canonical : TU ajoutes dans le head de ton script : Bon j'aime pas cette solution parce que beaucoup trop de développeurs et webmasters en abusent par flemme de recherche et de suppression de Duplicate Content, mais bon, cela peut servir quand même si l'on est au pied du mur. Pour plus d'infos sur cette dernière solution : https://www.webrankinfo.com/dossiers/techniques/url-canonique
Merci pour ton aide J'ai essayé les 2 solution proposées. 1/ J'ai mis dans mon fichier Htacces Code: <? // $_GET['id_news'] est l'id de la news passé en GET, je suppose if($_SERVER['REQUEST_URI']==''modules/news/article.php?storyid=$_GET['id_news']"){ header("Status: 301 Moved Permanently"); header("Location: http://www.monsite.com/news+index.storytopic+".$_GET['id_news'].".htm"); exit(); } ?> J'ai une page d'erreur 500 2/ J'ai mis Code: RedirectPermanent /modules/news/article.php?storyid=([0-9]+) http://www.monsite.com/news+index.storytopic+([0-9]+)\.htm Il ne se passe rien.... Pour info mon fichier Htaccess se présente comme cela: Code: SetEnv PHP_VER 5 SetEnv REGISTER_GLOBALS 0 #<Simplified URL Hack> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*\.(htm|html) urlloadpage.php [L] RewriteRule ^$ urlloadpage.php [L] #</Simplified URL Hack> Ai-je fais une erreur?
Dis moi juste, tu débutes en PHP, n'est ce pas ? Ce n'est pas une critique, bien au contraire, mais c'est là l'erreur d'un novice en prog. web (tout le monde y est passé) Je pense aussi que du coup, tu utilises un CMS, sinon si c'était ton propre code tu n'au rais pas posé la ou les questions ci-dessus. C'est pas grave, on va reprendre au tout début :wink: Tu utilises quoi comme plateforme / CMS ? Avec ça, on avancera Au fait, avec plaisir pour l'aide, en plus, même si ça balance un peu de temps en temps, il faut le prendre avec le sourire, c'est un forum d'info et d'entraide Dans l'attente de ta réponse
Oui en effet, je débute... Merci pour ton respect des limites des autres et pour ta disponibilité Mon site tourne sous xoops 2.5 L'url rewrite est faîte avec un Hack que tu trouveras ici (2 fichiers): http://www.frxoops.org/modules/TDMDownloads/singlefile.php?cid=20&lid=180 Encore Merci...
Salut Hamoudi, désolé pour la réponse tardive, maladie à la con, quand tu nous tiens ... BOn j'ai cherché, mais je sèche un peu, surtout que je developpe pas trop sur des CMS, alors xoop, je suis autant débutant que toi là dessus, j'ai essayé quelques trucs, mais rien ne passe... Désolé, peut être que quelqu'un sur ce forum sera plus à même pour répondre à ta demande.
Ok merci Mais si je mets tout simplement dans robots.txt User-agent: * Disallow: /modules/ Peut-être que toutes les pages dont l'url commencera par http://www.monsite/modules/... ne seront plus référencées par Google et donc plus de Duplicat Content avec les pages rewritées dont l'url se présente comme cela: http://www.monsite.com/news+index.storytopic+1.htm ???? Qu'en penses-tu?
L'inconvénient avec une telle méthode est que si tu installes de nouveaux modules par la suite, vas tu penser que tu dois modifier ton robot.txt ???? Je dis ça parce que tu risques (déjà vécu) d'oublier ce truc là, surtout d'ici 6 mois :mrgreen: , et que le temps que tu te rendes compte de ce qu'il t'arrive, le mal sera déjà fait et tu devras trouver une autre solution pour ...pour, pour ton problème actuel plus le temps que tu auras perdu avec le problème futur. Non je penses qu'il te faut trouver une solution pour ce problème de réécriture, et une solution ciblée, ... Après, oui, au premier coup d'oeil, il est possible que ça fonctionne avec le robot.txt, j'arrive pas à mesurer la portée de cette action.