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