Serveur Apache HTTP Version 2.4

| Description: | Effectue des op�rations de recherche/remplacement sur les corps de r�ponses |
|---|---|
| Statut: | Extension |
| Identificateur�de�Module: | substitute_module |
| Fichier�Source: | mod_substitute.c |
| Compatibilit�: | Disponible depuis la version 2.2.7 du serveur HTTP Apache |
mod_substitute fournit un m�canisme permettant
d'effectuer des substitutions de cha�nes fixes ou d'expressions
rationnelles sur les corps de r�ponses.
| Description: | Mod�le de substition dans le contenu de la r�ponse |
|---|---|
| Syntaxe: | Substitute s/mod�le/substitution/[infq] |
| Contexte: | r�pertoire, .htaccess |
| AllowOverride: | FileInfo |
| Statut: | Extension |
| Module: | mod_substitute |
La directive Substitute permet de
sp�cifier un mod�le de recherche/remplacement � appliquer au corps
de la r�ponse.
La signification du mod�le peut �tre modifi�e via toute combinaison de ces drapeaux :
inn force le traitement du
mod�le en tant que cha�ne fixe.ff, mod_substitute met � plat le
r�sultat d'une substitution (les conteneurs ou buckets ne sont
pas dissoci�s), ce qui permet � d'�ventuelles substitutions
ult�rieures de s'effectuer sur cette derni�re. C'est le
comportement par d�faut.qq, mod_substitute dissocie les
conteneurs (ou buckets) apr�s chaque substitution. Ceci peut
am�liorer la rapidit� de la r�ponse et diminuer la quantit� de
m�moire utilis�e, mais ne doit �tre utilis� que s'il n'existe
aucune possibilit� pour que le r�sultat d'une substitution ne
corresponde au mod�le ou � l'expression rationnelle d'une
substitution ult�rieure.
<Location />
AddOutputFilterByType SUBSTITUTE text/html
Substitute s/foo/bar/ni
</Location>
Si le mod�le ou la cha�ne de substitution contient un caract�re slash '/', il faut utiliser un autre d�limiteur :
<Location />
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<BR */?>|<br />|i"
</Location>
Lorsqu'on utilise des expressions rationnelles, on peut ins�rer des r�f�rences arri�res dans les op�rations de comparaison et de substitution, comme illustr� dans l'exemple suivant :
<Location />
AddOutputFilterByType SUBSTITUTE text/html
# "foo=k,bar=k" -> "foo/bar=k"
Substitute "s|foo=(\w+),bar=\1|foo/bar=$1"
</Location>
Un sc�nario courant d'utilisation de mod_substitute
est la situation o� un serveur frontal mandate des requ�tes pour un
serveur d'arri�re-plan qui renvoie des documents HTML contenant des
URLs int�gr�es cod�es en dur qui font r�f�rence � ce serveur
d'arri�re-plan. Ces URLs ne fonctionnent pas pour l'utilisateur
final car le serveur d'arri�re-plan est hors d'atteinte.
On peut, dans ce cas, utiliser mod_substutite pour
r��crire ces URLs afin qu'elles soit utilisables dans la partie
situ�e derri�re le mandataire :
ProxyPass /blog/ http://internal.blog.example.com
ProxyPassReverse /blog/ http://internal.blog.example.com/
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
La directive ProxyPassReverse modifie tout en-t�te
Location (redirection) envoy� par le serveur
d'arri�re-plan et, dans cet exemple, la directive
Substitute se charge � son tour de la modification de
la r�ponse HTML.