<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_sed

Langues Disponibles:  en  |  fr 

Description:Filtre les contenus en entr´┐Że (requ´┐Żtes) et en sortie (r´┐Żponses) en utilisant la syntaxe de sed
Statut:
Identificateur´┐Żde´┐ŻModule:sed_module
Fichier´┐ŻSource:mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h
Compatibilit´┐Ż:Disponible depuis la version 2.3 d'Apache

Sommaire

mod_sed est un filtre de contenu "in-process". Le filtre mod_sed fournit les commandes d'´┐Żdition de sed impl´┐Żment´┐Żes par le programme sed de Solaris 10 comme d´┐Żcrit dans la page de manuel. Cependant, ´┐Ż la diff´┐Żrence de sed, mod_sed ne re´┐Żoit pas de donn´┐Żes sur son entr´┐Że standard. Au lieu de cela, le filtre agit sur les donn´┐Żes ´┐Żchang´┐Żes entre le client et le serveur. mod_sed peut ´┐Żtre utilis´┐Ż comme filtre en entr´┐Że ou en sortie. mod_sed est un filtre de contenu, ce qui signifie qu'on ne peut pas l'utiliser pour modifier les en-t´┐Żtes http du client ou du serveur.

Le filtre en sortie mod_sed accepte un tron´┐Żon de donn´┐Żes, ex´┐Żcute le script sed sur ces donn´┐Żes, puis g´┐Żn´┐Żre une sortie qui est transmise au filtre suivant dans la cha´┐Żne.

Le filtre en entr´┐Że mod_sed re´┐Żoit des donn´┐Żes en provenance du filtre suivant dans la cha´┐Żne, ex´┐Żcute les scripts sed, et renvoie les donn´┐Żes g´┐Żn´┐Żr´┐Żes au filtre appelant dans la cha´┐Żne de filtrage.

Les filtres en entr´┐Że ou en sortie ne traitent les donn´┐Żes que si des caract´┐Żres newline sont d´┐Żtect´┐Żs dans le contenu ´┐Ż filtrer. A la fin des donn´┐Żes, ce qui reste est trait´┐Ż comme la derni´┐Żre ligne.

Vous trouverez sur le blog de l'auteur un article en forme de tutoriel, ainsi que les raisons pour lesquelles ce filtre est plus puissant qu'une simple recherche/remplacement de cha´┐Żne ou d'expression rationnelle.

Directives

Sujets

top

Exemple de configuration

Ajout d'un filtre en sortie

# Dans l'exemple suivant, le filtre sed va remplacer la cha´┐Żne
	 # "monday" par "MON" et la cha´┐Żne "sunday" par "SUN" dans les
	 # documents html avant de les envoyer au client.
<Directory "/var/www/docs/sed"> 
    AddOutputFilter Sed html 
    OutputSed "s/monday/MON/g" 
    OutputSed "s/sunday/SUN/g" 
</Directory>

Ajout d'un filtre en entr´┐Że

         # Dans l'exemple suivant, le filtre sed va remplacer la cha´┐Żne
	 # "monday" par "MON" et la cha´┐Żne "sunday" par "SUN" dans les
	 # donn´┐Żes POST envoy´┐Żes ´┐Ż PHP.
        <Directory "/var/www/docs/sed"> 
    AddInputFilter Sed php 
    InputSed "s/monday/MON/g" 
    InputSed "s/sunday/SUN/g" 
</Directory>
top

Commandes sed

Vous trouverez tous les d´┐Żtails ´┐Ż propos de la commande sed dans sa page de manuel.

b
Saut vers le label sp´┐Żcifi´┐Ż (similaire ´┐Ż goto).
h
Copie la ligne courante dans le tampon.
H
Ajoute la ligne courante au tampon.
g
Copie le contenu du tampon dans la ligne courante.
G
Ajoute le contenu du tampon ´┐Ż la ligne courante.
x
Echange les contenus du tampon et de la ligne courante.
top

InputSed Directive

Description:Commande sed ´┐Ż ex´┐Żcuter pour le filtrage des donn´┐Żes d'une requ´┐Żte (en g´┐Żn´┐Żral des donn´┐Żes POST)
Syntaxe:InputSed commande-sed
Contexte:r´┐Żpertoire, .htaccess
Statut:
Module:mod_sed

La directive InputSed permet de sp´┐Żcifier la commande sed ´┐Ż ex´┐Żcuter pour le filtrage des donn´┐Żes (en g´┐Żn´┐Żral des donn´┐Żes POST) d'une requ´┐Żte.

top

OutputSed Directive

Description:Commande sed pour le filtrage des contenus de type r´┐Żponse
Syntaxe:OutputSed commande-sed
Contexte:r´┐Żpertoire, .htaccess
Statut:
Module:mod_sed

La directive OutputSed permet de sp´┐Żcifier la commande sed ´┐Ż ex´┐Żcuter dans le cadre du traitement d'une r´┐Żponse.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
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 mailing lists.