Redirection automatique de l'index vers le répertoire "

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

matsa
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 25
Inscription: 21 Jan 2005

Redirection automatique de l'index vers le répertoire "

Message le Jeu Juin 19, 2008 7:58

Bonjour,

Je souhaite que quand un visiteur tape l'adresse du site, il soit automatiquement redirigé vers le dossier "fr" correspondant au site en français. Donc la page index.html à la racine du site n'a pas d'utilité.

Comment faire cette redirection pour que les robots indexent bien le site ?
Avec htaccess (donc sans page index à la racine) ? Du genre :
Code: Tout sélectionner
Redirect permanent /  fr
ou alors
RewriteRule ^http://www.monsite.com$ /fr/ [R=301]


Avec une redirection php (contenu dans la page index) ? Du genre :
Code: Tout sélectionner
header("Status: 301 Moved Permanently", false, 301);
header("Location:  http://"  . $_SERVER["SERVER_NAME"] . "/fr/");


Quelles solutions en la meilleur en terme de référencement ?
Merci d'avance pour vos conseils.


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Jeu Juin 19, 2008 8:56

entre un 301 php et un 301 htaccess, il n'y a pas de différence. le tout est de faire une 301 via un rewrite, un redirect, un script, ... ce que tu veux

matsa
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 25
Inscription: 21 Jan 2005

Message le Jeu Juin 19, 2008 9:00

ok merci pour l'info !


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Jeu Juin 19, 2008 14:52

e-kiwi a écrit:entre un 301 php et un 301 htaccess, il n'y a pas de différence. le tout est de faire une 301 via un rewrite, un redirect, un script, ... ce que tu veux

il y a peut-être une petite différence dans le temps de traitement si la redirection est en php

matsa
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 25
Inscription: 21 Jan 2005

Message le Jeu Juin 19, 2008 14:57

Le traitement serait plus rapide via htaccess ?

Fanfan92
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 45
Inscription: 16 Sep 2008

Message le Mar Oct 14, 2008 14:17

matsa a écrit:Le traitement serait plus rapide via htaccess ?

De ce que j'ai compris (arretez moi si je me trompe), lorsqu'une URL est demandée, le serveur apache va toujours voir en premier si un fichier .htaccess est présent dans le repertoire.
Si ta redirection est dans le .htaccess, il aura recherché le .htaccess, lu le .htaccess, et été redirigé.
Si ta redirection est dans le .php, il aura recherché le .htaccess, (eventuellement lu le .htaccess si tu as d'autres trucs dedans autres que la redirection), recherché le index.php, lu le index.php et été redirigé.
J'aurais donc tendance a dire que de mettre la redirection dans le .htaccess est legerement plus rapide, mais ca doit se jouer a tres tres peu. :D


Sinon, pour reprendre la question de départ de matsa, je voudrais savoir justement comment on ecrit cette fameuse ligne dans le .htaccess, pour lui dire que les gens qui ont saisi dans leur navigateur l'adresse du site sont redirigés vers le repertoire /fr?
J'ai essayé les differentes lignes ci-dessous mais sans succès :
RewriteRule ^http://www.monsite.com$ /fr/ [R=301]
RewriteRule ^http://www.monsite.com$ http://www.monsite.com/fr/ [R=301]
RewriteRule ^/$ http://www.monsite.com/fr/ [R=301]

Finalement j'ai trouvé une methode qui marche, en mettant :
DirectoryIndex /fr/index.html

Mais je me demande si c'est la meilleure methode que tout le monde utilise, et si ca n'a pas d'impact que je ne soupconnerai pas, comme le referencement ou autre... par rapport a un RewriteRule 301 qui est invisible pour le referencement...


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Oct 14, 2008 15:09

c'est plutôt :
Code: Tout sélectionner
RewriteRule ^$ http://www.monsite.com/fr/ [R=301]


si tu as plusieurs répertoires la solution avec DirectoryIndex va poser des problèmes car tu ne pourras pas utiliser le fichier index d'un autre répertoire.

Fanfan92
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 45
Inscription: 16 Sep 2008

Message le Mar Oct 14, 2008 16:33

Super, merci, ca marche nikel et effectivement je n'avais pas pensé à ce probleme avec la méthode du DirectoryIndex.

Au passage : j'ai mis [R=301,L] sur chacune de mes regles, dont celle la.
Le "L" est il un probleme pour cette regle la? Je n'ai pas bien compris comment fonctionne le flag L en fait... :oops:


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Oct 14, 2008 16:38

Le L(Last) indique qu'il ne faut pas évaluer les RewriteRule suivantes dans le fichier .htaccess. tu peux l'ajouter sans problème.

Fanfan92
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 45
Inscription: 16 Sep 2008

Message le Mar Oct 14, 2008 19:09

Oui j'ai compris son sens (que j'avais lu dans la doc apache), mais en fait je ne vois aucun exemple ou on devrait ne pas le mettre. Je suppose que Apache lis les regles les unes apres les autres jusqu'a ce qu'il tombe sur la ligne correspondant à la requete que la personne a faite. A ce moment, il est redirigé et donc arrete de lire le fichier .htaccess. Je ne vois pas de cas ou il serait redirigé et devrait continuer a lire les regles de redirection suivante. Mais il doit exister des regles plus complexes, tenant en plusieurs lignes, que je n'imagine pas... :?:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités