Tutoriels

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 :

  1. Passez directement par votre client FTP (File Zilla, Cyberduck, etc.) rendez-vous à la racine de votre site et affichez les « fichiers cachés ».
  2. 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 :

6 commentaires

  1. 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 😉

  2. 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 😉

  3. 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 ;*

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée Champs requis marqués avec *

Poster commentaire