1. Home
  2. Autres services
  3. Fichier htaccess

Fichier htaccess

Qu’est-ce qu’un fichier htaccess ?

Il s’agit d’un fichier qui permet de modifier le comportement du serveur web Apache en permettant notamment de réaliser une authentification (avec le fichier .htpasswd), de créer des règles de réécritures d’adresses ou encore de modifier les propriétés de PHP (si le PHP est exécuté en module Apache).

Le fichier .htaccess ne modifie le comportement que du répertoire (et des sous-répertoires) où il est situé, il est possible de mettre un fichier dans un sous-répertoire qui annule ou définit des règles différentes que celui dans le répertoire parent.

Ce fichier de configuration d’Apache, permet de définir des règles pour des répertoires du site web. Il est utilisé généralement pour mettre en place :

  • des droits d’accès
  • des redirections
  • des messages d’erreur personnalisés

Nous présentons dans cet article quelques directives pour aider nos abonnés à comprendre le mécanisme de ce fichier.

Notez que ce lien d’aide n’est pas une référence pour une utilisation experte du htaccess.

Appeler une page d’erreur personnalisée

Il faut rajouter dans un fichier .htaccess des lignes de ce type:

ErrorDocument 404 /monfichier404.html
ErrorDocument 403 /monfichier403.html
ErrorDocument 404 http://www.mondomaine.tld

Bloquer l’accès à mon site web

Vous pouvez bloquer ou autoriser l’accès à votre site web pour des adresses IP et/ou des domaines spécifiques .
Pour cela, vous devez créer un fichier .htaccess dans le dossier racine de votre site web (/www/monsite/ par exemple) et y ajouter les directives suivantes :

Blocage par adresse IP

order allow,deny Deny from 88.55.44.22
Deny from 44.62.53.21

Blocage par domaine

Deny from votredomaine.com
Deny from sondomaine.fr

Autoriser des IP

order allow,deny
Allow from 88.55.44.22
Allow from 44.62.53.21

Autoriser un domaine

order allow,deny
Allow from mondomaine.com
Allow from sondomaine.net

Autoriser et bloquer

order allow,deny
Allow from 88.55.44.22
Allow from 44.62.53.21
Allow from mondomaine.com
Allow from tondomaine.net
Deny from 77.56.44.22
Deny from 55.26.53.25
Deny from votredomaine.com
Deny from sondomaine.fr


 Si il y a déjà un fichier .htaccess dans le dossier de votre site web, alors ajoutez ces directives dans le fichier existant.

Empêcher le listing d’un répertoire

Indiquez la ligne suivante dans un fichier .htaccess du répertoire en question :Il faut rajouter dans un fichier .htaccess des lignes de ce type:

Options -Indexes

Interdire un répertoire à tout le monde

Indiquez la ligne suivante dans le fichier .htaccess du répertoire en question :

deny from all

Créer une authentification sécurisée

Afin de mettre en place une authentification sécurisée pour accéder à un répertoire, veuillez suivre les étapes suivantes :

  1. Générer un mot de passe crypté
  2. Copier le couple login / mot de passe obtenu dans un fichier nommé .htpasswd
  3. Créer un fichier .htaccess dans le répertoire à protéger et y inscrire le contenu suivant (à adapter selon vos besoins) :

    AuthName « Authentification requise »
    AuthType Basic
    AuthUserFile « /home/usersX/x/xxx/www/repertoire_secret/.htpasswd »
    Require valid-user

Explications :

  • AuthName : défini le texte qui sera affiché dans la fenêtre d’authentification
  • AuthUserFile : contient le chemin vers le fichier .htpasswd. Attention, il faut entrer le chemin absolu vers le fichier.

Rediriger http vers https

Indiquez les lignes suivantes au début du fichier .htaccess de votre site pour que le flux http soit automatiquement redirigé vers https :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

ou encore

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Contactez votre webmaster avant l’ajout de cette redirection si vous utilisez un CMS (WordPress, Drupal, Joomla, autre) cela vous évitera de créer des boucles de redirections qui mettent en péril le bon fonctionnement de votre site web.

URL Rewriting

L’URL Rewriting fonctionne sur tous nos hébergements.

RewriteEngine On

Le code suivant permet de ré-écrire l’URL de votre site en exécutant les conditions de la section RewriteCond, et ce, pour tout accès provenant du port HTTP 80, qui est le port par défaut de ce protocole.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !
RewriteRule ^(.*)$ https://www.mondomaine.tld/$1 [R=301,L]

La ligne ci-dessous permet de créer une redirection permanente SANS importation du référencement du site redirigé.

Redirect permanent / http://www.unsiteverslequel-redirigermondomaine.tld

La ligne suivante permet de créer une redirection permanente AVEC importation du référencement du site redirigé.

Redirect 301 /anciennepage/ http://www.monnouveausite.com/nouvellepage

Dans le cas où vous avez remplacé votre ancien site par un nouveau, et que les deux sites n’ont pas la même squelette de dossiers et fichiers. L’ancien étant bien référencé, vous ne souhaitez pas perdre ce référencement. Cette ligne permettra de passer sur la nouvelle URL sans perdre la position de votre domaine dans les moteurs de recherche.

Optimiser les performances de mon site

Veuillez suivre ce lien d’aide qui explique comment optimiser les performances d’un site web.
Updated on 17 juillet 2019

Was this article helpful?

Related Articles

Comments

    1. Bjr, merci pour votre retour d’expérience. Vous pouvez également tester celui-ci : RewriteEngine on
      RewriteCond %{HTTPS} !=on
      RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      Si cela ne fonctionne pas non plus, je vous invite à prendre contact avec notre assistance par ticket ou par téléphone.

Leave a Comment