Aller au contenu

Redirection pour ma page d'accueil via htaccess


Sujets conseillés

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.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php

Mon hébergeur est 1&1

Que faut-il y ajouter ?

Merci pour vos suggestions :)

Modifié par Keroin
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

Bon alors après test, la redirection 301 de domaine.com vers www.domaine.com fonctionne parfaitement, merci Dan :thumbsup:

Par contre ma page d'accueil est toujours accessible quand je tape www.mondomaine.com/frontpage ou www.mondomaine.com/index.php :wacko:

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.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /

Lien vers le commentaire
Partager sur d’autres sites

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} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) 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 :P

Lien vers le commentaire
Partager sur d’autres sites

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é par Keroin
Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

Non bah merci d'insister mais ça veut toujours pas :shutup:

avec le htaccess suivant :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) 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 :wacko:

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é :whistling: mais bon ça avance doucement :)

Lien vers le commentaire
Partager sur d’autres sites

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.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /

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. :whistling:

Est ce que quelqu'un peut me confirmer (ou me dire "touche pas à ça p'tit c*n" :D ) que c'est la bonne marche à suivre ? ;)

Lien vers le commentaire
Partager sur d’autres sites

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]

Lien vers le commentaire
Partager sur d’autres sites

Ok donc quelquechose comme ça conviendrait mieux ???

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /
RewriteCond %{HTTP_HOST} !^www.keroinsite.com$
RewriteRule /?(.*) http://www.keroinsite.com/$1 [R=301,L]
DirectoryIndex index.php
RewriteRule /?(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é par Keroin
Lien vers le commentaire
Partager sur d’autres sites

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 ! :lol:

Lien vers le commentaire
Partager sur d’autres sites

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é par Keroin
Lien vers le commentaire
Partager sur d’autres sites

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.php
HTTP/1.1 301
Date: Tue, 24 Oct 2006 12:30:47 GMT
Server: Apache/1.3.33 (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: Tue, 24 Oct 2006 12:30:47 GMT
Location: http://www.keroinsite.com
Connection: close
Content-Type: text/html

Redirection vers :
URL: http://www.keroinsite.com/
HTTP/1.1 200 OK
Date: Tue, 24 Oct 2006 12:30:47 GMT
Server: Apache/1.3.33 (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: Tue, 24 Oct 2006 12:30:48 GMT
Connection: close
Content-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 ?

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan pour la confirmation :hypocrite:

Encore une dernière petite question et après promis je ne vous embête plus avec ce topic :P

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é par Keroin
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...