Doku > Exemple de fichier .htaccess

Qu’est-ce qu’un fichier .htaccess ?

.htaccess signifie “Hypertext Access” et est un fichier de configuration utilisé sur les serveurs web Apache. Ce fichier est principalement utilisé pour contrôler les paramètres au niveau du répertoire et permet aux administrateurs web de modifier la configuration du serveur sans avoir besoin d’accéder directement aux fichiers de configuration principaux du serveur.

Fonctions clés d’un fichier .htaccess

  1. Réécriture d’URL (Rewriting) : L’un des cas d’utilisation les plus courants est la réécriture d’URLs, par exemple, la redirection des anciennes vers de nouvelles URLs ou la suppression de “www” des URLs pour éviter les problèmes de SEO.

  2. Paramètres de sécurité : .htaccess peut être utilisé pour restreindre l’accès à certaines zones de votre site web en bloquant des adresses IP ou en exigeant des mots de passe pour certains répertoires.

  3. Personnalisation des pages d’erreur : Vous pouvez personnaliser la page qui s’affiche lorsqu’un utilisateur rencontre une erreur telle que 404 (Page non trouvée) ou 403 (Interdit).

  4. Optimisation des performances : En définissant des règles de mise en cache et de compression, la vitesse de chargement du site web peut être améliorée.

  5. Définition des types MIME : Vous pouvez définir des types MIME spécifiques pour différentes extensions de fichier, ce qui aide à contrôler comment le navigateur traite ces fichiers.

Précautions et meilleures pratiques

  • Performance : Bien que .htaccess soit très puissant, son utilisation peut affecter les performances du serveur, car le fichier est lu à chaque requête. Dans les environnements où la configuration du serveur peut être directement modifiée, il est souvent préférable de faire des réglages directement dans le fichier de configuration principal du serveur (httpd.conf).

  • Sécurité : Étant donné que les fichiers .htaccess sont si puissants, vous devez vous assurer qu’ils sont conservés en sécurité et ne sont pas accessibles publiquement. Assurez-vous également que seuls les utilisateurs de confiance ont accès à ces fichiers.

  • Vérification des erreurs : Les erreurs dans le fichier .htaccess peuvent rendre votre site web ou certaines parties de celui-ci inaccessibles. Il est important de tester soigneusement les modifications avant qu’elles ne soient mises en ligne.

Exemple

Ce fichier .htaccess contient des instructions pour la définition des jeux de caractères, le caching, la gestion des erreurs, et la réécriture d’URL. Voici une explication de chaque partie :

1. Définition du jeu de caractères

AddDefaultCharset UTF-8

Cette commande définit le jeu de caractères par défaut pour les documents en UTF-8. Cela aide à éviter les problèmes d’encodage des caractères et assure que les textes sont affichés correctement.

2. Paramètres de caching

ExpiresActive on 
AddType image/webp .webp
AddType image/svg .svg
ExpiresByType image/webp "access plus 365 days"
ExpiresByType image/* "access plus 365 days"
ExpiresByType application/javascript "access plus 365 days"
ExpiresByType text/css "access plus 365 days"
  • ExpiresActive on active l’utilisation des dates d’expiration pour les types de fichiers.
  • AddType définit de nouveaux types MIME pour les fichiers WebP et SVG afin que le navigateur les interprète correctement.
  • ExpiresByType fixe la date d’expiration pour divers types de fichiers (images, JavaScript, CSS) à 365 jours après le dernier accès. Cela améliore les temps de chargement pour les visiteurs récurrents en mettant en cache les ressources dans le navigateur.

3. Document d’erreur

ErrorDocument 404 https://autoprofis24.de/

Spécifie que les visiteurs sont redirigés vers l’URL donnée en cas d’erreur 404 (Page non trouvée).

4. Réécriture d’URL

RewriteEngine On

Active la réécriture d’URL.

Redirections spécifiques

RewriteRule ^

infos/arten-von-hybridautos/(.*)$ /infos/arten-von-hybridfahrzeugen/$1 [R=301,L]
RewriteRule ^blog/brummende-geraeuche-hinterachse-mercedes-e-klasse-differenzial/(.*)$ /blog/brummende-geräusche-hinterachse-mercedes-e-klasse-differenzial/$1 [R=301,L]

Ces règles redirigent les anciennes URLs vers leurs nouveaux chemins (redirection 301, permanente). Cela est utilisé pour transférer la valeur SEO à la nouvelle URL et améliorer l’expérience utilisateur.

Vérification de l’existence de fichiers ou de répertoires

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Ces conditions garantissent que les règles de réécriture suivantes sont appliquées uniquement si le fichier ou le répertoire demandé n’existe pas.

Code commenté pour les optimisations de PageSpeed

Le code bloqué (##) est pour des réglages de performance spécifiques qui ne sont actuellement pas actifs, tels que l’exclusion de certains types de fichiers de la redirection ou l’ajout d’une barre oblique à la fin de l’URL.

Redirection vers un répertoire parent

RewriteRule ^(.+)/[^/]+/?$ /$1/ [R=301,L]

Redirige les requêtes pointant vers une ressource non existante dans un sous-répertoire vers le répertoire parent.

Suppression de “www” de l’URL

RewriteCond %{HTTP_HOST} ^www\.autoprofis24\.de [NC]
RewriteRule ^(.*)$ https://autoprofis24.de/$1 [L,R=301]

Redirige toutes les requêtes de www.autoprofis24.de vers autoprofis24.de, en supprimant la partie www pour assurer la cohérence de la structure de l’URL et éviter le contenu dupliqué.

Ce fichier .htaccess est un bon exemple de la façon dont la configuration côté serveur peut être gérée pour améliorer la fonctionnalité et la sécurité de votre site web.