Serveur Apache HTTP Version 2.4
Le module Apache mod_rewrite
mod_rewrite
permet de modifier les requêtes
entrantes dynamiquement, en fonction de règles manipulant des expressions rationnelles. Vous pouvez
ainsi relier des URLs arbitraires à votre propre structure d'URLs
interne comme vous le souhaitez.
Il fournit un mécanisme de manipulation d'URL particulièrement souple et puissant en supportant un nombre illimité de règles et de conditions attachées à chaque règle. Les manipulations d'URLs peuvent dépendre de tests variés : les URLs peuvent être finement caractérisées en fonction de variables du serveur, de variables d'environnement, d'en-têtes HTTP, de repères temporels, de recherches dans des bases de données externes, ou même de requêtes vers des bases de données externes et de différents gestionnaires ou programmes externes.
Les règles de réécriture peuvent agir sur l'ensemble des URLs (la partie chemin
et la chaîne de paramètres) et peuvent être utilisées dans le contexte du serveur principal
(httpd.conf
), mais aussi dans le contexte des
serveurs virtuels (sections <VirtualHost>
), ou dans le
contexte des
répertoires (fichiers .htaccess
et blocs
<Directory>
. Le résultat
réécrit peut conduire vers d'autres règles à un
traitement secondaire interne, une redirection vers une requête
externe ou même l'envoi vers un serveur mandataire, en fonction
des drapeaux que vous attachez aux
règles
mod_rewrite étant très puissant, il peut par conséquent être très complexe. Ce document complète la documentation de référence du module mod_rewrite, et est sensé alléger un peu cette complexité, et présenter des exemples largement commentés, ainsi que des situations courantes que vous pourrez traiter avec mod_rewrite. Mais nous voulons aussi vous montrer des situations où vous ne devrez pas utiliser mod_rewrite, et lui préférer d'autres fonctionnalités standard d'Apache, évitant ainsi d'entrer dans une complexité inutile.
- documentation de référence de mod_rewrite
- Introduction aux expressions rationnelles et à mod_rewrite
- Utilisation de mod_rewrite pour la redirection et la remise en correspondance avec le système de fichiers des URLs
- Utilisation de mod_rewrite pour le contrôle d'accès
- Les serveurs virtuels dynamiques avec mod_rewrite
- Les serveurs mandataires dynamiques avec mod_rewrite
- Utilisation de RewriteMap
- Techniques avancées
- Quand NE PAS utiliser mod_rewrite
- Drapeaux de réécriture
- Détails techniques