Adresse(s) de la page d'accueil ?

Nouveau WRInaute
Bonjour à tous,

Actuellement, on peut accéder à la page d'accueil de mon site en tapant l'une des 3 possibilités :

www.monsite.fr
monsite.fr
monsite.fr/index.html

j'ai lu que c'était pas top pour le référencement, sans trop comprendre pourquoi, ni comment y remédier (redirection ? de quoi vers quoi ? et comment ?)

Si vous pouviez m'éclairer ! (Ma recherche n'a rien donné)
 
WRInaute passionné
ca fait duduplicate content (des pages identiques) et google n'aime pas trop.
pour éviter cela il faut ajouter ces lignes dans un fichier nommé .htaccess à la racine du site (le créer si il n'existe pas et bien penser a le transférer au format texte) :
Code:
RewriteEngine on
#Utilise seulement le site avec www
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.+)$
RewriteRule ^(.*)$   http://www.%1/$1  [QSA,R=301,L]

#Redirige index.html ou index.php sur /
RewriteRule ^(.*)/index\.(html|htm|php)$   /$1/  [QSA,R=301,L]
RewriteRule ^index\.(html|htm|php)$   /  [QSA,R=301,L]
 
Nouveau WRInaute
Merci

Merci beaucoup !

Petit problème à mettre en application : en fait je voudrais tout rediriger vers monsite.fr (sans les www) (j'ai fait l'association ainsi sous google webmaster, et j'ai déjà référencé sans les www)

J'ai essayé une petite modif, mais je découvre le .htaccess et ça marche pas ... :-(
 
WRInaute passionné
il faut mettre :
Code:
RewriteEngine on
#Utilise seulement le site sans www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.*)$   http://%1/$1  [QSA,R=301,L]
 
Nouveau WRInaute
merci beaucoup,
si je met juste ces 2 lignes ça me redirige bien le www comme il faut, mais si je rajoute les lignes pour l'index.html, il y a une erreur que je n'arrive pas à résoudre...
il y a "interférence" des différentes règles ?
 
WRInaute passionné
en effet. je viens de tester et ça boucle.
il faut ajouter une condition :
Code:
#Redirige index.html ou index.php sur /
RewriteCond %{REQUEST_URI} index\.(html|htm|php)(\?[^\?]*)?$
RewriteRule ^(.*)/index\.(html|htm|php)$   /$1/  [QSA,R=301,L]
RewriteCond %{REQUEST_URI} index\.(html|htm|php)(\?[^\?]*)?$
RewriteRule ^index\.(html|htm|php)$   /  [QSA,R=301,L]

sinon il y a la solution en php avec la fonction header :
Code:
if ($_SERVER['REQUEST_URI'] != '/') {
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: /");
}
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut