1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_substitute - Serveur Apache HTTP Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_substitute</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_substitute.html" title="Fran�ais"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue des op�rations de recherche/remplacement sur les
corps de r�ponses</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>substitute_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_substitute.c</td></tr></table>
<h3>Sommaire</h3>
<p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> fournit un m�canisme permettant
d'effectuer des substitutions de cha�nes fixes ou d'expressions
rationnelles sur les corps de r�ponses.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#substitute">Substitute</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#substituteinheritbefore">SubstituteInheritBefore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#substitutemaxlinelength">SubstituteMaxLineLength</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Probl�mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="substitute" id="substitute">Directive</a> <a name="Substitute" id="Substitute">Substitute</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mod�le de substition dans le contenu de la
r�ponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Substitute <var>s/mod�le/substitution/[infq]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr>
</table>
<p>La directive <code class="directive">Substitute</code> permet de
sp�cifier un mod�le de recherche/remplacement � appliquer au corps
de la r�ponse.</p>
<p>La signification du mod�le peut �tre modifi�e via toute
combinaison de ces drapeaux :</p>
<dl>
<dt><code>i</code></dt>
<dd>Effectue une comparaison sans tenir compte de la casse.</dd>
<dt><code>n</code></dt>
<dd>Par d�faut, le mod�le est trait� en tant qu'expression
rationnelle. Le drapeau <code>n</code> force le traitement du
mod�le en tant que cha�ne fixe.</dd>
<dt><code>f</code></dt>
<dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> 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.</dd>
<dt><code>q</code></dt>
<dd>Avec le drapeau <code>q</code>, <code>mod_substitute</code> 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.</dd>
</dl>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s/foo/bar/ni"
</Location></pre>
</div>
<p>Si le mod�le ou la cha�ne de substitution contient un caract�re
slash '/', il faut utiliser un autre d�limiteur :</p>
<div class="example"><h3>Exemple d'utilisation d'un d�limiteur
alternatif</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<BR */?>|<br />|i"
</Location></pre>
</div>
<p>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 :</p>
<div class="example"><h3>Exemple d'utilisation de r�f�rences arri�res et de captures</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
# "foo=k,bar=k" -> "foo/bar=k"
Substitute "s|foo=(\w+),bar=\1|foo/bar=$1"
</Location></pre>
</div>
<p>Un sc�nario courant d'utilisation de <code>mod_substitute</code>
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.</p>
<p>On peut, dans ce cas, utiliser <code>mod_substitute</code> pour
r��crire ces URLs afin qu'elles soit utilisables dans la partie
situ�e derri�re le mandataire :</p>
<div class="example"><h3>R��criture des URLs int�gr�es � un contenu mandat�</h3><pre class="prettyprint lang-config">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"</pre>
</div>
<p>La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> modifie tout en-t�te
<code>Location</code> (redirection) envoy� par le serveur
d'arri�re-plan et, dans cet exemple, la directive
<code class="directive">Substitute</code> se charge � son tour de la modification de
la r�ponse HTML.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="substituteinheritbefore" id="substituteinheritbefore">Directive</a> <a name="SubstituteInheritBefore" id="SubstituteInheritBefore">SubstituteInheritBefore</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie l'ordre de fusion des mod�les h�rit�s</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteInheritBefore on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>SubstituteInheritBefore on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Disponible � partir de la version 2.4.17 du serveur HTTP
Apache</td></tr>
</table>
<p>Cette directive permet de d�finir si l'on applique les mod�les
<code class="directive"><a href="#substitute">Substitute</a></code> h�rit�s en premier
(valeur <code>on</code>), ou apr�s ceux du
contexte courant (valeur <code>off</code>). Sa valeur est maintenant
d�finie par d�faut � <code>on</code> ; il est cependant possible de
restaurer le comportement des versions 2.4 et ant�rieures du serveur qui
�tait �quivalent � une d�finition � <code>off</code> de cette directive.
La valeur de la directive <code class="directive">SubstituteInheritBefore</code> est
elle-m�me h�rit�e, et les contextes qui en h�ritent (ceux qui ne
d�finissent pas explicitement leur propre directive
<code class="directive">SubstituteInheritBefore</code>) appliqueront donc
l'ordre de fusion d�fini le plus proche.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="substitutemaxlinelength" id="substitutemaxlinelength">Directive</a> <a name="SubstituteMaxLineLength" id="SubstituteMaxLineLength">SubstituteMaxLineLength</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit la longueur de ligne maximale</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>SubstituteMaxLineLength 1m</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_substitute</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit�:</a></th><td>Disponible � partir de la version 2.4.11 du serveur HTTP
Apache</td></tr>
</table>
<p>La taille de la ligne trait�e par <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code>
est limit�e afin de restreindre l'utilisation des ressources
m�moire. La directive <code class="directive">SubstituteMaxLineLength</code>
permet de d�finir cette limite. La valeur de la limite peut �tre
sp�cifi�e sous la forme d'un nombre d'octets, et peut �tre suffix�e
par une des lettres <code>b</code>, <code>B</code>, <code>k</code>,
<code>K</code>, <code>m</code>, <code>M</code>, <code>g</code> ou
<code>G</code> pour fournir une valeur respectivement en octets,
kiloOctets, m�gaOctets ou gigaOctets.</p>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
SubstituteMaxLineLength 10m
Substitute "s/foo/bar/ni"
</Location></pre>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_substitute.html" title="Fran�ais"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_substitute.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|