Keroin Posté 12 Octobre 2006 Posté 12 Octobre 2006 (modifié) Salut à tous, Mon problème est le suivant, actuellement il y a 4 possibilités d'accéder à ma page d'accueil (voir signature) en utilisant les adresses suivantes : ht*p://www.exemple.tld/ ht*p://exemple.tld/ ht*p://www.exemple.tld/Frontpage/ ht*p://www.exemple.tld/index.php Pour éviter le duplicate content je souhaiterais bien sûr que tout soit redirigé vers ht*p://www.exemple.com/ via une règle dans mon htaccess. Actuellement mon htaccess se compose des règles suivantes : DirectoryIndex index.phpRewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) index.php Mon hébergeur est 1&1 Que faut-il y ajouter ? Merci pour vos suggestions Modifié 12 Octobre 2006 par Keroin
Dan Posté 12 Octobre 2006 Posté 12 Octobre 2006 Cela ne règle pas le problème de l'accès au domaine avec et sans le www Il faut utiliser, avant toute règle: RewriteCond %{HTTP_HOST} !^www.example.tld$RewriteRule /?(.*) http://www.example.tld/$1 [R=301,L] Ensuite, ta règle redirige toute URL qui n'est ni un fichier ni un répertoire vers index.php ... à mon avis pas une bonne idée si tu veux un jour utiliser la réécriture pour avoir des meilleures URLs. Et tant qu'à faire, autant rediriger vers / plutôt que vers /index.php Dan
Keroin Posté 12 Octobre 2006 Auteur Posté 12 Octobre 2006 Salut Dan et merci de me répondre La réécriture est déjà en place sur le site (à la base c'est un joomla avec le composant remosef pour la réécriture) et fonctionne plutôt correctement. Et en fait il n'y a vraiment que ce souci de page d'accueil qui m'embête un peu. Je vais essayer avec la règle que tu m'a proposée (en première position dans mon htaccess si j'ai bien compris). pour la redirection vers index.php, il suffit dans mon htaccess original que je remplace "index.php" par "/" ??? Je vais essayer tout ça et je vous tiens eu courant
Keroin Posté 12 Octobre 2006 Auteur Posté 12 Octobre 2006 Bon alors après test, la redirection 301 de domaine.com vers www.domaine.com fonctionne parfaitement, merci Dan Par contre ma page d'accueil est toujours accessible quand je tape www.mondomaine.com/frontpage ou www.mondomaine.com/index.php Je met ici mon nouveau htaccess si quelqu'un avait une idée pour que ces deux pages soient redirigées vers www.mondomaine.com RewriteCond %{HTTP_HOST} !^www.keroinsite.com$RewriteRule /?(.*) http://www.keroinsite.com/$1 [R=301,L]DirectoryIndex index.phpRewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) /
Dan Posté 12 Octobre 2006 Posté 12 Octobre 2006 Si tu veux un changement de l'URL du navigateur, ainsi qu'une mise à jour des liens du robot, il faut faire une redirection 301 (donc externe). Donc mettre plutôt: RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) http://www.tondomaine.tld/ [R=301,L] Ensuite vas dans les outils du Hub et utilise le visualisateur d'entêtes... tu verras la redirection http://www.webmaster-hub.com/outils/http-viewer.php ... si quelqu'un avait une idée ... C'est bien plus qu'une idée
Keroin Posté 12 Octobre 2006 Auteur Posté 12 Octobre 2006 (modifié) En mettant uniquement cette règle dans mon htaccess j'ai une erreur 500 et plus aucun accès au site. J'ai surement du oublier quelque chose ou peut être qu'il y a une particularité au niveau de l'hébergeur (1&1) ???? J'ai remis le htaccess qui fonctionne (cf : message 4) et lancer l'outil d'analyse d'entête du Hub qui me donne le résultat suivant si ça peut aider : URL: http://www.keroinsite.com/HTTP/1.1 200 OK Date: Thu, 12 Oct 2006 15:25:38 GMT Server: Apache/1.3.37 (Unix) Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Mon, 26 Jul 1997 05:00:00 GMT Pragma: no-cache X-Powered-By: PHP/4.4.4 Set-Cookie: b5d25f0040a4a862cbeee5924e3cb9c7=-; path=/ Set-Cookie: mosvisitor=1 Last-Modified: Thu, 12 Oct 2006 15:25:38 GMT Connection: close Content-Type: text/html Modifié 12 Octobre 2006 par Keroin
Dan Posté 12 Octobre 2006 Posté 12 Octobre 2006 Désolé, faute de frappe, c'est R=301 et pas R+301 .... Quand on oublie de presser "shift"... ça arrive ! J'ai corrigé mon post !
Keroin Posté 12 Octobre 2006 Auteur Posté 12 Octobre 2006 Non bah merci d'insister mais ça veut toujours pas avec le htaccess suivant : RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) http://www.keroinsite.com/ [R=301,L] => la page d'accueil est de nouveau accessible via http://mondomaine.tld et ne redirige plus vers le www. => quand j'essaye d'y acceder en tapant www.mondomaine.tld/frontpage => page blanche avec erreur => la page est également toujours accessible avec www.mondomaine.tld/index.php Donc pour l'instant j'ai à nouveau remis le htaccess fonctionnel (message "4") qui redirige le http://mondomaine.tld vers http://www.mondomaine.tld. J'avoue que là je suis complétement paumé mais bon ça avance doucement
Keroin Posté 17 Octobre 2006 Auteur Posté 17 Octobre 2006 Resalut à tous, Bon bah j'avance pas trop sur mon problème des deux pages (www.mondomaine.tld/index.php et www.mondomaine.tld/frontpage) que je souhaiterais rediriger vers www.mondomaine.tld/. Mon .htaccess est le suivant pour le moment : RewriteCond %{HTTP_HOST} !^www.keroinsite.com$RewriteRule /?(.*) http://www.keroinsite.com/$1 [R=301,L]DirectoryIndex index.phpRewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) / Je pense ajouter à la suite de mon .htaccess les deux lignes suivantes : Redirect Permanent /index.php http://www.keroinsite.com/Redirect Permanent /frontpage http://www.keroinsite.com/ Seulement n'y connaissant rien en UR et htaccess j'ai un peu peur de faire une boulette qui pourrait nuire à mon référencement. Est ce que quelqu'un peut me confirmer (ou me dire "touche pas à ça p'tit c*n" ) que c'est la bonne marche à suivre ?
Dan Posté 17 Octobre 2006 Posté 17 Octobre 2006 Déjà dans ton .htaccess, tu as des règles avant le RewriteEngine On ... Il faut corriger cela ! Ensuite, tu peux simplement rajouter une règle comme celle-ci, à la place de tes 2 RedirectPermanent: RewriteRule /?(index.php|frontpage) http://www.keroinsite.com/ [R=301,L]
Keroin Posté 17 Octobre 2006 Auteur Posté 17 Octobre 2006 (modifié) Ok donc quelquechose comme ça conviendrait mieux ??? RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) /RewriteCond %{HTTP_HOST} !^www.keroinsite.com$RewriteRule /?(.*) http://www.keroinsite.com/$1 [R=301,L]DirectoryIndex index.phpRewriteRule /?(index.php|frontpage) http://www.keroinsite.com/ [R=301,L] J'essaye comme ça... Edit : oula bah non je dois encore avoir un souci au niveau de l'ordre des requêtes car j'ai un message du style "Firefox à détecté que la manière dont le serveur redirige la requête ne pourra pas aboutir" (ou quelquechose comme ça) ... Modifié 17 Octobre 2006 par Keroin
Dan Posté 17 Octobre 2006 Posté 17 Octobre 2006 Le DirectoryIndex n'a rien à faire dans tes règles de réécriture Le RewriteCond testant le nom de domaine devrait être avant toutes les autres règles... Et lorsqu'une règle est trouvée, il faut mettre le flag [L] à la fin de celle-ci. Donc tu te mélanges manifestement les pinceaux !
Keroin Posté 17 Octobre 2006 Auteur Posté 17 Octobre 2006 (modifié) Bah vi, c'est pour ça plus haut je disais qu'il fallait me dire "touche pas à ça p'tit c*n" si j'allais faire une bétise Dans quel ordre dois-je mettre ces satanées lignes dans ce cas ??? Modifié 17 Octobre 2006 par Keroin
Keroin Posté 24 Octobre 2006 Auteur Posté 24 Octobre 2006 Suite à mes déboires d'UR pour rediriger mon url avec /index.php vers www.mondomaine.tld, j'ai opté pour un ajout de redirection en php directement dans la page (car via htaccess ça ne veut pas fonctionner). Le code est le suivant : <?php if($_SERVER['REQUEST_URI'] == "/index.php") { header ('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.keroinsite.com'); } ?> L'outil de test de redirection du Hub me donne pour cette url le résultat suivant : URL: http://www.keroinsite.com/index.phpHTTP/1.1 301Date: Tue, 24 Oct 2006 12:30:47 GMTServer: Apache/1.3.33 (Unix)Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Expires: Mon, 26 Jul 1997 05:00:00 GMTPragma: no-cacheX-Powered-By: PHP/4.4.4Set-Cookie: b5d25f0040a4a862cbeee5924e3cb9c7=-; path=/Set-Cookie: mosvisitor=1Last-Modified: Tue, 24 Oct 2006 12:30:47 GMTLocation: http://www.keroinsite.comConnection: closeContent-Type: text/htmlRedirection vers :URL: http://www.keroinsite.com/HTTP/1.1 200 OKDate: Tue, 24 Oct 2006 12:30:47 GMTServer: Apache/1.3.33 (Unix)Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Expires: Mon, 26 Jul 1997 05:00:00 GMTPragma: no-cacheX-Powered-By: PHP/4.4.4Set-Cookie: b5d25f0040a4a862cbeee5924e3cb9c7=-; path=/Set-Cookie: mosvisitor=1Last-Modified: Tue, 24 Oct 2006 12:30:48 GMTConnection: closeContent-Type: text/html Je pense que c'est correct et que mon référencement ou le crawl de mes pages ne sera pas pénalisé maisj'aimerais bien en avoir confirmation. Est ce que cela vous semble correct comme méthode ?
Dan Posté 24 Octobre 2006 Posté 24 Octobre 2006 Tu as effectivement une redirection avec entête 301... c'est donc tout bon !
Keroin Posté 24 Octobre 2006 Auteur Posté 24 Octobre 2006 (modifié) Merci Dan pour la confirmation Encore une dernière petite question et après promis je ne vous embête plus avec ce topic Je souhaite également rediriger de la même façon ma page www.mondomaine.tld/frontpage , est ce que je doit mettre deux fois le code en php ou une simple petite modif dans ce code suffit ? Et si c'est le cas, de quoi doit avoir l'air mon code pour prendre en compte les deux pages ? Modifié 24 Octobre 2006 par Keroin
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant