Guide pour le module Apache mod_rewrite
Le point fort de mod_rewrite réside dans le fait qu’il possède toutes les
capacités de configuration et la flexibilité de Sendmail ;mais c’est aussi son
point faible.
-- Brian Behlendorf
Malgré la multitude d'exemples et de documentations, mod_rewrite est de
la magie noire. De la magie noire très "cool", mais de la magie noire
quand-même.
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.
Ce guide est un complément du manuel de
référence avec des exemples commentés, des explications conceptuelles et des
conseils pratiques. Il est organisé comme suit :
- Introduction
- Concepts de base : syntaxe des expressions rationnelles, les bases des
directives RewriteRule et RewriteCond et la manière dont mod_rewrite s’insère
dans le cycle de vie du traitement des requêtes.
- Réécritures en fonction du répertoire
- Les principales différences entre l’utilisation des règles de réécriture au
niveau de la configuration globale du serveur et leur utilisation dans un
contexte de répertoire, y compris la
suppression du chemin, RewriteBase et la gestion du bouclage par le drapeau [L].
- Drapeaux des règles de réécriture
- Une référence complète de tous les drapeaux qui peuvent modifier le
comportement d’une règle de réécriture avec des exemples pour chacun d’entre
eux.
- Utiliser RewriteMap
- Comment utiliser des sources de recherche externes — fichiers texte,
bases de données DBM, requêtes SQL et fonctions internes — pour piloter
vos règles de réécriture.
- Redirection et remappage
- Des recettes pour les tâches courantes : redirection HTTPS, noms d’hôte
canoniques, normalisation des barres obliques de fin, routage du contrôleur
frontal, et plus encore.
- Serveurs virtuels dynamiques
- Utilisation de mod_rewrite pour associer dynamiquement les noms d’hôte aux
racines de document sans devoir créer des blocs VirtualHost individuels.
- Quand ne pas utiliser mod_rewrite
- De nombreuses tâches courantes sont accomplies de manière bien plus efficace
avec des directives plus simples. Ce document vous propose des solutions de
remplacement et vous indique quand il est préférable de les utiliser.
- Détails techniques
- Comment mod_rewrite s’insère dans les phases de traitement des requêtes par
httpd et l’ordre dans lequel les règles et les conditions sont évaluées.