RewriteEngine On
# Active le moteur de réécriture d'URL d'Apache

# La règle suivante permet à l'authentification de fonctionner avec FastCGI
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Transmet l'en-tête d'autorisation HTTP à l'environnement FastCGI

# La règle suivante indique à Apache que si le fichier demandé
# existe, il doit simplement le servir.
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [NC,L]
# Si la requête correspond à un fichier, un lien ou un répertoire existant, elle est servie directement

# Les règles suivantes réécrivent toutes les autres requêtes vers index.php.
# La condition assure que si vous utilisez des alias Apache pour
# l'hébergement virtuel, le chemin de base sera préfixé pour
# permettre la résolution correcte du fichier index.php; cela fonctionnera
# également dans des environnements sans alias, offrant une solution sûre et universelle.
RewriteCond $0::%{REQUEST_URI} ^([^:]*+(?::[^:]*+)*?)::(/.+?)\1$
RewriteRule .+ - [E=BASE:%2]
RewriteRule .* %{ENV:BASE}index.php [NC,L]
# Toutes les autres requêtes sont redirigées vers index.php, en prenant en compte le chemin de base pour les environnements avec alias

Ce fichier est un fichier .htaccess, utilisé avec le serveur web Apache pour réécrire les URL et gérer certaines configurations spécifiques au serveur. Il est souvent utilisé dans les applications PHP pour gérer le routage propre et rediriger les requêtes vers un script frontal unique (comme index.php).

En résumé, ce fichier .htaccess est configuré pour :

  1. Transmettre les en-têtes d'autorisation HTTP à l'environnement FastCGI, ce qui est important pour les applications qui nécessitent une authentification.

  2. Servir directement les fichiers, liens ou répertoires existants sans les réécrire, ce qui est utile pour les ressources statiques comme les images, les feuilles de style CSS, et les scripts JavaScript.

  3. Rediriger toutes les autres requêtes HTTP vers index.php, le script frontal de l'application. Cela permet d'utiliser un seul point d'entrée pour l'application, ce qui est une pratique courante dans les applications web modernes pour faciliter le routage et la gestion des requêtes.

Ce fichier est crucial pour les applications PHP utilisant des frameworks comme Mezzio, car il permet de gérer proprement le routage des requêtes et d'assurer que l'application fonctionne correctement sur un serveur Apache.

Modifié le: jeudi 18 janvier 2024, 10:41