From: Lucien Gentis Date: Sat, 6 Sep 2014 15:09:30 +0000 (+0000) Subject: Rebuild. X-Git-Tag: 2.4.11~297 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=284d8920fdcb277b1dce7e6c822d32a7b3879246;p=apache Rebuild. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1622872 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/rewrite/advanced.html.fr b/docs/manual/rewrite/advanced.html.fr index 8bf109c1ed..29106f5a2c 100644 --- a/docs/manual/rewrite/advanced.html.fr +++ b/docs/manual/rewrite/advanced.html.fr @@ -24,8 +24,6 @@

Langues Disponibles:  en  |  fr 

-
Cette traduction peut être périmée. Vérifiez la version - anglaise pour les changements récents.

Ce document complète la documentation de référence du @@ -43,7 +41,6 @@ simplement les copier/coller dans votre configuration. d'arrière-plan en fonction de l'adresse IP

  • Régéneration de contenu à la volée
  • Répartition de charge
  • -
  • Actualisation automatique d'un document
  • Répertoires Home structurés
  • Redirection des ancrages
  • Réécriture dépendant de l'heure
  • @@ -205,161 +202,6 @@ plus de fonctionnalit -
    top
    -
    -

    Actualisation automatique d'un document

    - - - - - -
    -
    Description :
    - -
    -

    Lorsque nous créons une page web complexe, ne serait-il pas - souhaitable que le navigateur web actualise automatiquement la - page chaque fois que nous en sauvegardons une nouvelle version - à partir de notre éditeur ? Impossible ?

    -
    - -
    Solution :
    - -
    -

    Non ! Nous allons pour cela combiner la fonctionnalité MIME - multipart, la fonctionnalité NPH du serveur web et la - puissance de mod_rewrite pour la manipulation - d'URLs. Tout d'abord, nous définissons une nouvelle - fonctionnalité pour les URLs : l'ajout de - :refresh à toute URL fait que la 'page' est - actualisée chaque fois que la ressource est mise à jour dans - le système de fichiers.

    - -
    RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /interne/cgi/apache/nph-refresh?f=$
    - - -

    Nous appelons maintenant cette URL

    - -

    -/u/foo/bar/page.html:refresh -

    - -

    ce qui entraîne en interne l'invocation de l'URL

    - -

    -/interne/cgi/apache/nph-refresh?f=/u/foo/bar/page.html -

    - -

    Il ne reste plus qu'à écrire le script NPH-CGI. Bien que l'on - écrive habituellement dans ces cas "laissé à la charge du - lecteur à titre d'exercice", ;-) je vous l'offre, aussi.

    - -
    #!/sw/bin/perl
    -##
    -##  nph-refresh -- script NPH/CGI pour l'actualisation automatique de
    -##  pages
    -##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
    -##
    -$| = 1;
    -
    -#   éclate la variable QUERY_STRING
    -@pairs = split( /&/, $ENV{'QUERY_STRING'} );
    -foreach $pair (@pairs) {
    -    ( $name, $value ) = split( /=/, $pair );
    -    $name =~ tr/A-Z/a-z/;
    -    $name = 'QS_' . $name;
    -    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    -    eval "\$$name = \"$value\"";
    -}
    -$QS_s = 1    if ( $QS_s eq '' );
    -$QS_n = 3600 if ( $QS_n eq '' );
    -if ( $QS_f eq '' ) {
    -    print "HTTP/1.0 200 OK\n";
    -    print "Content-type: text/html\n\n";
    -    print "<b>ERROR</b>: No file given\n";
    -    exit(0);
    -}
    -if ( !-f $QS_f ) {
    -    print "HTTP/1.0 200 OK\n";
    -    print "Content-type: text/html\n\n";
    -    print "<b>ERROR</b>: File $QS_f not found\n";
    -    exit(0);
    -}
    -
    -sub print_http_headers_multipart_begin {
    -    print "HTTP/1.0 200 OK\n";
    -    $bound = "ThisRandomString12345";
    -    print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
    -    &print_http_headers_multipart_next;
    -}
    -
    -sub print_http_headers_multipart_next {
    -    print "\n--$bound\n";
    -}
    -
    -sub print_http_headers_multipart_end {
    -    print "\n--$bound--\n";
    -}
    -
    -sub displayhtml {
    -    local ($buffer) = @_;
    -    $len = length($buffer);
    -    print "Content-type: text/html\n";
    -    print "Content-length: $len\n\n";
    -    print $buffer;
    -}
    -
    -sub readfile {
    -    local ($file) = @_;
    -    local ( *FP, $size, $buffer, $bytes );
    -    ( $x, $x, $x, $x, $x, $x, $x, $size ) = stat($file);
    -    $size = sprintf( "%d", $size );
    -    open( FP, "<$file" );
    -    $bytes = sysread( FP, $buffer, $size );
    -    close(FP);
    -    return $buffer;
    -}
    -
    -$buffer = &readfile($QS_f);
    -&print_http_headers_multipart_begin;
    -&displayhtml($buffer);
    -
    -sub mystat {
    -    local ($file) = $_[0];
    -    local ($time);
    -
    -    ( $x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime ) = stat($file);
    -    return $mtime;
    -}
    -
    -$mtimeL = &mystat($QS_f);
    -$mtime  = $mtime;
    -for ( $n = 0 ; $n & lt ; $QS_n ; $n++ ) {
    -    while (1) {
    -        $mtime = &mystat($QS_f);
    -        if ( $mtime ne $mtimeL ) {
    -            $mtimeL = $mtime;
    -            sleep(2);
    -            $buffer = &readfile($QS_f);
    -            &print_http_headers_multipart_next;
    -            &displayhtml($buffer);
    -            sleep(5);
    -            $mtimeL = &mystat($QS_f);
    -            last;
    -        }
    -        sleep($QS_s);
    -    }
    -}
    -
    -&print_http_headers_multipart_end;
    -
    -exit(0);
    -
    -##EOF##
    - -
    -
    -
    top

    Répertoires Home structurés

    @@ -465,8 +307,7 @@ RewriteRule ^/~(([a-z])[a-z0-9]+)(.*) /home/$2mod_expires pour contourner ce problème. Il est cependant bien plus commode de servir un contenu dynamique, et - de le personnaliser en fonction de l'heure du jour.
    - + de le personnaliser en fonction de l'heure du jour.
    top
    diff --git a/docs/manual/rewrite/advanced.xml.meta b/docs/manual/rewrite/advanced.xml.meta index 907cc2406d..98192e7018 100644 --- a/docs/manual/rewrite/advanced.xml.meta +++ b/docs/manual/rewrite/advanced.xml.meta @@ -8,6 +8,6 @@ en - fr + fr