Support

author
6 minutes, 41 seconds Read
Mise à jour le 4 octobre 2018

Qu’est-ce que .htaccess?

Le fichier .htaccess (également connu sous le nom de fichier d’accès hypertexte) est utilisé pour définir des configurations spécifiques pour les serveurs web fonctionnant sous Apache. Ce fichier de configuration affecte le répertoire dans lequel il est stocké ainsi que tous les sous-répertoires de ce répertoire. Par exemple, si le fichier .htaccess est situé dans votre répertoire racine, il affectera l’ensemble du site. En revanche, si le fichier est situé dans un répertoire spécifique, il n’affectera que ce répertoire et tous les sous-répertoires qu’il contient.

Certaines plateformes CMS telles que WordPress et Drupal sont également fournies avec des fichiers .htaccess pour vous permettre de spécifier certaines configurations applicables uniquement à ce site. Le fichier .htaccess peut être utilisé pour réaliser une variété de choses, notamment :

  • Préparer les redirections
  • Personnaliser les pages d’erreur
  • Restreindre les utilisateurs en fonction de l’IP
  • Ajouter des types MIME
  • Définir les en-têtes HTTP
  • Protéger par mot de passe certains dossiers

Le fichier .htaccess peut être utilisé pour réaliser beaucoup plus, cependant la liste ci-dessus est parmi les utilisations les plus populaires du .htaccess. La section ci-dessous présente divers exemples de .htaccess et la façon dont ils peuvent être utilisés dans votre propre site.

Exemples de .htaccess

Il existe une grande quantité de possibilités de configuration qui peuvent être réalisées dans le fichier .htaccess. La liste ci-dessous présente quelques-uns des exemples les plus couramment utilisés.

Rediriger les utilisateurs vers une page d’erreur spécifique

Sur la base du code d’état qu’un fichier ou une page particulière renvoie, vous pouvez rediriger l’utilisateur vers une page d’erreur personnalisée. L’exemple ci-dessous montre quelques variations que vous pouvez utiliser. Chacune dépend du code d’état qui est retourné.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Ajouter un en-tête et une valeur personnalisés

Les en-têtes HTTP personnalisés peuvent également être ajoutés via le fichier .htaccess. Il existe quelques options de syntaxe, telles que set qui remplacera tout en-tête précédent portant le même nom, add qui ajoutera l’en-tête même si un autre portant le même nom existe. Visitez le guide des en-têtes de page d’Apache pour en savoir plus.

Header set X-Custom "Custom Value"

Dans l’exemple ci-dessus, le texte X-Custom correspond à l’en-tête HTTP qui sera renvoyé dans la réponse HTTP tandis que le texte Custom Value correspond à la valeur de cet en-tête particulier.

Blocage des utilisateurs en fonction de l’IP

Pour des raisons de sécurité, vous pouvez bloquer les utilisateurs en fonction de leur IP dans le fichier .htaccess. Dans l’exemple ci-dessous, il y a deux IP qui sont bloquées. Nous pouvons également décider de ne pas inclure le dernier chiffre de l’adresse IP, ce qui aura pour effet de bloquer toutes les IP qui contiennent les trois premiers chiffres.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Blocage des référents (protection des liens chauds)

Le blocage des référents, également connu sous le nom de protection des liens chauds, est une méthode utilisée pour empêcher certains référents de référencer les actifs de votre site Web et ainsi voler votre bande passante. Utilisez le snippet ci-dessous pour définir les domaines qui ne sont pas autorisés à faire référence à votre contenu et qui recevront donc une erreur 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

Une fonctionnalité similaire peut également être réalisée via le tableau de bord KeyCDN. Pour apprendre à mettre en œuvre la protection des liens chauds dans votre zone KeyCDN, consultez notre guide sur les référents de zone.

Ajouter des types MIME

Les types MIME définissent ce à quoi une extension de fichier particulière fait référence. Par conséquent, il est parfois nécessaire de le définir dans votre fichier .htaccess pour informer le serveur web du type de fichier auquel vous faites référence. Pour voir une liste complète des types MIME, visitez la liste des types MIME.

AddType image/gif .gif .GIF

L’exploitation du cache du navigateur

Le fichier .htaccess peut également être utilisé pour aider à améliorer les performances du site Web en exploitant le cache du navigateur. Chaque type de fichier peut être défini avec une valeur d’expiration particulière. Vous pouvez définir une liste personnalisée de types de fichiers et modifier chacune de leur valeur d’expiration, cependant le snippet suivant est un bon point de départ.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Activer Gzip

Activer Gzip sur votre serveur d’origine permet d’améliorer les performances de vos actifs car ils sont compressés et peuvent donc être livrés plus rapidement. Vous pouvez définir une liste personnalisée de types MIME à Gzip, cependant l’exemple ci-dessous est un bon point de départ. Pour en savoir plus sur les avantages de Gzip et son fonctionnement, lisez notre article Activer la compression Gzip.

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Dénier les méthodes de requête HTTP

Il existe plusieurs méthodes de requête HTTP qui sont utilisées pour atteindre divers résultats. S’il y a certaines méthodes HTTP que vous ne voulez pas qu’un utilisateur emploie sur votre site Web, vous pouvez les refuser avec .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Faire des redirections 301

Si vous devez faire une redirection 301 pour une page qui a été déplacée, cela peut être facilement réalisé avec .htaccess. Il suffit d’utiliser le snippet ci-dessous qui prend la première URL (ancien lien) et la redirige vers la deuxième URL (nouveau lien).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Activer CORS

Activer CORS est crucial pour livrer des actifs statiques à travers diverses origines. Le snippet suivant peut être ajouté à votre fichier .htaccess afin de permettre à toutes les origines de partager des ressources. Sinon, si cette option n’est pas activée et que votre origine demande des ressources à une autre origine, vous recevrez une erreur CORS. Pour en savoir plus sur CORS, consultez notre article Comment utiliser CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Les exemples de .htaccess ci-dessus constituent un excellent point de départ pour ceux qui ne sont pas encore familiarisés avec l’utilisation de .htaccess, mais qui souhaitent tout de même effectuer certaines configurations de serveur web. Le fichier .htaccess a la capacité d’effectuer un éventail de tâches et est assez flexible pour répondre aux besoins de votre site Web. Bien que ces exemples de .htaccess constituent un excellent point de départ, il se peut que vous cherchiez à effectuer des configurations .htaccess plus avancées. Pour en savoir plus sur ce sujet, consultez l’article du guide du fichier .htaccess d’AskApache.

Similar Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.