Comment supprimer “index.html” de l’URL de votre page d’accueil
C’est une question qui revient assez souvent, du coup, un petit tuto pour expliquer comment faire.
Avant toutes choses, quelques précisions :
Le fait que l’URL de votre page d’accueil affiche index.html n’impacte pas votre référencement naturel. Pour Google il n’y a pas de différence entre https://votresite.com et https://votresite.com/index.html. Cela ne représente pas un duplicate content. Si certain veulent retirer le /index.html, c’est purement esthétique.
La méthode proposée ici est ce qu’on appel de la Réécriture d’URL, ou, URL Rewriting pour les américains 😉 Ce n’est pas une redirection, il n’y a donc aucun risque de créer une boucle infinie.
Aller, c’est parti, voyons comment procéder. Il vous faut éditez votre fichier .htaccess. Pour cela, plusieurs solutions :
- Passez directement par votre client FTP (File Zilla, Cyberduck, etc.) rendez-vous à la racine de votre site et affichez les “fichiers cachés”.
- Passez par le logiciel WebAcappella. Rendez vous dans les paramètres du site, puis, en bas de la page, cliquez sur le bouton “Créer le fichier .htaccess sur le serveur”
Copiez le code ci-dessous et collez-le dans votre fichier .htaccess
RewriteEngine on RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC] RewriteRule . http://www.%{HTTP_HOST}%1 [R=301,NE,L] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L] RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC] RewriteRule . %1 [R=301,NE,L]
Attention, ça ne marche que pour le fichier de configuration .htacess (Serveur Apache).
Voilà, c’est fini. Bisous les neveux !
Vous pouvez faire plein d’autres choses avec le fichier .htaccess. Si cela vous intéresse, voici d’autres tutoriels sur le sujet :
bonjour
merci pour ce tuto
doit-on mettre plusieurs fichiers htaccess sur un même site pour différentes actions
ou bien un seul fichier htaccess peut-il suffir ?
exemple : page 404 + passage https + etc.
merci
Bonjour Marty,
non surtout pas, il ne doit y avoir qu’un seul fichier htaccess sur votre serveur non de zeus 😉
Bonjour Tonton,
Merci pour le tuto qui fonctionne très bien !
Avec un site multilingue, est-il possible de faire la même chose afin de masquer le /fr/ et le /en/ ?
Exemple : monsite.fr/fr/
Multi langage WebAcappella Fx activé avec redirection automatique vers la langue détectée.
Merci et bonnes fêtes 😉
Bonjour,
Est ce que le code marche si on n’a pas les 3w sur l’url du site et meri pour le tuto
Merci, je voulais dire
Bonjour ça ne fonctionne pas voilà mon code
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index\.html#home$ [NC]
RewriteCond %{REQUEST_URI} ^(.*/)nostravaux.php#nostravaux$ [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index.php#contact$ [NC]
RewriteRule . http://www.%{HTTP_HOST}%1 [R=301,NE,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC]
RewriteCond %{REQUEST_URI} ^(.*/)nostravaux.php#nostravaux$ [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index.php#contact$ [NC]
RewriteRule . %1 [R=301,NE,L]
Bisous à tous et surtout, à toutes ;*