From 800481201dcbd68abaf1ffcdd2afd2d5a08db54b Mon Sep 17 00:00:00 2001 From: Daniel Ruggeri Date: Tue, 18 Sep 2018 00:53:10 +0000 Subject: [PATCH] Get ready to tag httpd 2.4.35 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1841176 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/bind.html.fr | 176 +- docs/manual/configuring.html.fr | 198 +- docs/manual/content-negotiation.html.fr | 694 +-- docs/manual/custom-error.html.es | 108 +- docs/manual/custom-error.html.fr | 140 +- docs/manual/dns-caveats.html.fr | 148 +- docs/manual/dso.html.fr | 342 +- docs/manual/faq/index.html.es | 4 +- docs/manual/faq/index.html.fr | 16 +- docs/manual/filter.html.es | 120 +- docs/manual/getting-started.html.fr | 232 +- docs/manual/glossary.html.es | 344 +- docs/manual/glossary.html.fr | 460 +- docs/manual/handler.html.es | 94 +- docs/manual/handler.html.fr | 98 +- docs/manual/howto/access.html.es | 124 +- docs/manual/howto/access.html.fr | 156 +- docs/manual/howto/auth.html.es | 4 +- docs/manual/howto/auth.html.fr | 498 +-- docs/manual/howto/cgi.html.es | 4 +- docs/manual/howto/cgi.html.fr | 522 +-- docs/manual/howto/htaccess.html.es | 4 +- docs/manual/howto/htaccess.html.fr | 358 +- docs/manual/howto/http2.html.es | 244 +- docs/manual/howto/http2.html.fr | 386 +- docs/manual/howto/index.html.es | 4 +- docs/manual/howto/index.html.fr | 102 +- docs/manual/howto/public_html.html.es | 4 +- docs/manual/howto/public_html.html.fr | 120 +- docs/manual/howto/reverse_proxy.html.fr | 238 +- docs/manual/howto/ssi.html.es | 674 +-- docs/manual/howto/ssi.html.fr | 332 +- docs/manual/index.html.es | 82 +- docs/manual/index.html.fr | 66 +- docs/manual/install.html.es | 332 +- docs/manual/install.html.fr | 362 +- docs/manual/logs.html.fr | 658 +-- docs/manual/misc/index.html.es | 54 +- docs/manual/misc/index.html.fr | 52 +- docs/manual/misc/index.html.ko.euc-kr | 2 + docs/manual/misc/index.html.zh-cn.utf8 | 2 + docs/manual/misc/password_encryptions.html.fr | 108 +- docs/manual/misc/perf-tuning.html.fr | 910 ++-- docs/manual/misc/relevant_standards.html.fr | 102 +- docs/manual/misc/security_tips.html.fr | 398 +- docs/manual/mod/core.html.de | 2 +- docs/manual/mod/core.html.en | 2 +- docs/manual/mod/core.html.es | 494 +- docs/manual/mod/core.html.fr | 3954 +++++++++-------- docs/manual/mod/core.html.ja.utf8 | 2 +- docs/manual/mod/directive-dict.html.es | 4 +- docs/manual/mod/directive-dict.html.fr | 228 +- docs/manual/mod/directives.html.es | 4 +- docs/manual/mod/directives.html.fr | 24 +- docs/manual/mod/event.html.fr | 400 +- docs/manual/mod/index.html.de | 2 +- docs/manual/mod/index.html.es | 10 +- docs/manual/mod/index.html.fr | 292 +- docs/manual/mod/index.html.ja.utf8 | 2 +- docs/manual/mod/index.html.ko.euc-kr | 2 +- docs/manual/mod/index.html.zh-cn.utf8 | 2 +- docs/manual/mod/mod_access_compat.html.fr | 406 +- docs/manual/mod/mod_actions.html.fr | 96 +- docs/manual/mod/mod_alias.html.fr | 416 +- docs/manual/mod/mod_allowmethods.html.en | 3 +- docs/manual/mod/mod_allowmethods.html.fr | 48 +- docs/manual/mod/mod_asis.html.fr | 52 +- docs/manual/mod/mod_auth_basic.html.fr | 216 +- docs/manual/mod/mod_auth_digest.html.fr | 220 +- docs/manual/mod/mod_auth_form.html.fr | 626 +-- docs/manual/mod/mod_authn_anon.html.fr | 156 +- docs/manual/mod/mod_authn_core.html.fr | 126 +- docs/manual/mod/mod_authn_dbd.html.fr | 154 +- docs/manual/mod/mod_authn_dbm.html.fr | 106 +- docs/manual/mod/mod_authn_file.html.fr | 74 +- docs/manual/mod/mod_authn_socache.html.fr | 212 +- docs/manual/mod/mod_authnz_fcgi.html.fr | 312 +- docs/manual/mod/mod_authnz_ldap.html.fr | 1102 ++--- docs/manual/mod/mod_authz_core.html.fr | 422 +- docs/manual/mod/mod_authz_dbd.html.fr | 200 +- docs/manual/mod/mod_authz_dbm.html.fr | 124 +- docs/manual/mod/mod_authz_groupfile.html.fr | 68 +- docs/manual/mod/mod_authz_host.html.fr | 158 +- docs/manual/mod/mod_authz_owner.html.fr | 96 +- docs/manual/mod/mod_authz_user.html.fr | 38 +- docs/manual/mod/mod_autoindex.html.fr | 844 ++-- docs/manual/mod/mod_brotli.html.fr | 186 +- docs/manual/mod/mod_buffer.html.fr | 74 +- docs/manual/mod/mod_cache.html.fr | 904 ++-- docs/manual/mod/mod_cache_disk.html.fr | 180 +- docs/manual/mod/mod_cache_socache.html.fr | 158 +- docs/manual/mod/mod_cern_meta.html.fr | 90 +- docs/manual/mod/mod_cgi.html.fr | 202 +- docs/manual/mod/mod_cgid.html.fr | 94 +- docs/manual/mod/mod_charset_lite.html.fr | 162 +- docs/manual/mod/mod_data.html.fr | 34 +- docs/manual/mod/mod_dav.html.fr | 178 +- docs/manual/mod/mod_dav_fs.html.fr | 52 +- docs/manual/mod/mod_dav_lock.html.fr | 66 +- docs/manual/mod/mod_dbd.html.fr | 272 +- docs/manual/mod/mod_deflate.html.fr | 290 +- docs/manual/mod/mod_dialup.html.fr | 40 +- docs/manual/mod/mod_dir.html.fr | 266 +- docs/manual/mod/mod_dumpio.html.fr | 52 +- docs/manual/mod/mod_echo.html.fr | 26 +- docs/manual/mod/mod_env.html.fr | 68 +- docs/manual/mod/mod_example_hooks.html.fr | 88 +- docs/manual/mod/mod_expires.html.fr | 180 +- docs/manual/mod/mod_ext_filter.html.fr | 216 +- docs/manual/mod/mod_file_cache.html.fr | 180 +- docs/manual/mod/mod_filter.html.fr | 428 +- docs/manual/mod/mod_headers.html.fr | 576 +-- docs/manual/mod/mod_heartbeat.html.fr | 54 +- docs/manual/mod/mod_heartmonitor.html.fr | 76 +- docs/manual/mod/mod_http2.html.fr | 796 ++-- docs/manual/mod/mod_ident.html.fr | 64 +- docs/manual/mod/mod_imagemap.html.fr | 250 +- docs/manual/mod/mod_include.html.fr | 928 ++-- docs/manual/mod/mod_info.html.fr | 140 +- docs/manual/mod/mod_isapi.html.fr | 282 +- .../mod/mod_lbmethod_bybusyness.html.fr | 58 +- .../mod/mod_lbmethod_byrequests.html.fr | 84 +- .../manual/mod/mod_lbmethod_bytraffic.html.fr | 60 +- .../manual/mod/mod_lbmethod_heartbeat.html.fr | 48 +- docs/manual/mod/mod_ldap.html.fr | 664 +-- docs/manual/mod/mod_log_config.html.fr | 524 +-- docs/manual/mod/mod_log_debug.html.fr | 88 +- docs/manual/mod/mod_log_forensic.html.fr | 158 +- docs/manual/mod/mod_logio.html.fr | 96 +- docs/manual/mod/mod_lua.html.fr | 1258 +++--- docs/manual/mod/mod_macro.html.fr | 124 +- docs/manual/mod/mod_mime.html.fr | 874 ++-- docs/manual/mod/mod_mime_magic.html.fr | 120 +- docs/manual/mod/mod_negotiation.html.fr | 268 +- docs/manual/mod/mod_nw_ssl.html.fr | 48 +- docs/manual/mod/mod_privileges.html.fr | 462 +- docs/manual/mod/mod_proxy.html.fr | 1902 ++++---- docs/manual/mod/mod_proxy_ajp.html.fr | 478 +- docs/manual/mod/mod_proxy_balancer.html.fr | 306 +- docs/manual/mod/mod_proxy_connect.html.fr | 66 +- docs/manual/mod/mod_proxy_express.html.fr | 88 +- docs/manual/mod/mod_proxy_fcgi.html.fr | 280 +- docs/manual/mod/mod_proxy_fdpass.html.fr | 46 +- docs/manual/mod/mod_proxy_ftp.html.fr | 216 +- docs/manual/mod/mod_proxy_hcheck.html.fr | 198 +- docs/manual/mod/mod_proxy_html.html.fr | 496 +-- docs/manual/mod/mod_proxy_http.html.fr | 128 +- docs/manual/mod/mod_proxy_http2.html.fr | 74 +- docs/manual/mod/mod_proxy_scgi.html.fr | 120 +- docs/manual/mod/mod_proxy_wstunnel.html.fr | 42 +- docs/manual/mod/mod_ratelimit.html.fr | 40 +- docs/manual/mod/mod_reflector.html.fr | 58 +- docs/manual/mod/mod_remoteip.html.fr | 276 +- docs/manual/mod/mod_reqtimeout.html.fr | 138 +- docs/manual/mod/mod_request.html.fr | 94 +- docs/manual/mod/mod_rewrite.html.fr | 1402 +++--- docs/manual/mod/mod_sed.html.fr | 94 +- docs/manual/mod/mod_session.html.fr | 418 +- docs/manual/mod/mod_session_cookie.html.fr | 112 +- docs/manual/mod/mod_session_crypto.html.fr | 212 +- docs/manual/mod/mod_session_dbd.html.fr | 274 +- docs/manual/mod/mod_setenvif.html.fr | 230 +- docs/manual/mod/mod_slotmem_plain.html.fr | 42 +- docs/manual/mod/mod_slotmem_shm.html.fr | 66 +- docs/manual/mod/mod_so.html.fr | 144 +- docs/manual/mod/mod_socache_dbm.html.fr | 22 +- docs/manual/mod/mod_socache_dc.html.fr | 24 +- docs/manual/mod/mod_socache_memcache.html.fr | 60 +- docs/manual/mod/mod_socache_shmcb.html.fr | 24 +- docs/manual/mod/mod_speling.html.fr | 92 +- docs/manual/mod/mod_ssl.html.fr | 2364 +++++----- docs/manual/mod/mod_status.html.fr | 132 +- docs/manual/mod/mod_substitute.html.fr | 158 +- docs/manual/mod/mod_suexec.html.fr | 38 +- docs/manual/mod/mod_unique_id.html.fr | 286 +- docs/manual/mod/mod_unixd.html.fr | 140 +- docs/manual/mod/mod_userdir.html.fr | 120 +- docs/manual/mod/mod_usertrack.html.fr | 126 +- docs/manual/mod/mod_version.html.fr | 86 +- docs/manual/mod/mod_version.html.ja.utf8 | 2 + docs/manual/mod/mod_version.html.ko.euc-kr | 2 + docs/manual/mod/mod_vhost_alias.html.fr | 224 +- docs/manual/mod/mod_watchdog.html.fr | 40 +- docs/manual/mod/mod_xml2enc.html.fr | 182 +- docs/manual/mod/module-dict.html.fr | 66 +- docs/manual/mod/mpm_common.html.fr | 764 ++-- docs/manual/mod/mpm_netware.html.fr | 78 +- docs/manual/mod/mpm_winnt.html.fr | 82 +- docs/manual/mod/mpmt_os2.html.fr | 24 +- docs/manual/mod/prefork.html.fr | 156 +- docs/manual/mod/quickreference.html.de | 16 +- docs/manual/mod/quickreference.html.en | 2 +- docs/manual/mod/quickreference.html.es | 56 +- docs/manual/mod/quickreference.html.fr | 1712 +++---- docs/manual/mod/quickreference.html.ja.utf8 | 16 +- docs/manual/mod/quickreference.html.ko.euc-kr | 16 +- .../manual/mod/quickreference.html.zh-cn.utf8 | 16 +- docs/manual/mod/worker.html.fr | 144 +- docs/manual/mpm.html.es | 84 +- docs/manual/mpm.html.fr | 150 +- docs/manual/new_features_2_4.html.fr | 386 +- docs/manual/platform/index.html.fr | 42 +- docs/manual/platform/netware.html.fr | 484 +- docs/manual/platform/perf-hp.html.fr | 84 +- docs/manual/platform/rpm.html.fr | 144 +- docs/manual/platform/win_compiling.html.fr | 440 +- docs/manual/platform/windows.html.fr | 560 +-- docs/manual/programs/ab.html.fr | 278 +- docs/manual/programs/apachectl.html.fr | 138 +- docs/manual/programs/apxs.html.fr | 224 +- docs/manual/programs/configure.html.fr | 590 +-- docs/manual/programs/dbmmanage.html.fr | 150 +- docs/manual/programs/fcgistarter.html.fr | 20 +- docs/manual/programs/htcacheclean.html.fr | 172 +- docs/manual/programs/htdbm.html.fr | 216 +- docs/manual/programs/htdigest.html.fr | 60 +- docs/manual/programs/htpasswd.html.fr | 214 +- docs/manual/programs/httpd.html.fr | 120 +- docs/manual/programs/httxt2dbm.html.fr | 38 +- docs/manual/programs/index.html.es | 4 +- docs/manual/programs/index.html.fr | 38 +- .../manual/programs/log_server_status.html.fr | 36 +- docs/manual/programs/logresolve.html.fr | 36 +- docs/manual/programs/other.html.fr | 14 +- docs/manual/programs/rotatelogs.html.fr | 212 +- docs/manual/programs/split-logfile.html.fr | 28 +- docs/manual/programs/suexec.html.fr | 36 +- docs/manual/programs/suexec.html.ko.euc-kr | 2 + docs/manual/rewrite/access.html.fr | 136 +- docs/manual/rewrite/advanced.html.fr | 172 +- docs/manual/rewrite/avoid.html.fr | 162 +- docs/manual/rewrite/flags.html.fr | 688 +-- docs/manual/rewrite/htaccess.html.fr | 14 +- docs/manual/rewrite/index.html.fr | 88 +- docs/manual/rewrite/intro.html.fr | 332 +- docs/manual/rewrite/proxy.html.fr | 44 +- docs/manual/rewrite/remapping.html.fr | 310 +- docs/manual/rewrite/rewritemap.html.fr | 352 +- docs/manual/rewrite/tech.html.fr | 204 +- docs/manual/rewrite/vhosts.html.fr | 122 +- docs/manual/server-wide.html.fr | 82 +- docs/manual/socache.html.fr | 84 +- docs/manual/ssl/index.html.fr | 24 +- docs/manual/ssl/ssl_compat.html.fr | 276 +- docs/manual/ssl/ssl_faq.html.fr | 906 ++-- docs/manual/ssl/ssl_howto.html.fr | 304 +- docs/manual/ssl/ssl_intro.html.fr | 690 +-- docs/manual/suexec.html.fr | 552 +-- docs/manual/upgrading.html.fr | 420 +- docs/manual/urlmapping.html.fr | 318 +- docs/manual/vhosts/details.html.fr | 306 +- docs/manual/vhosts/examples.html.fr | 248 +- docs/manual/vhosts/fd-limits.html.fr | 90 +- docs/manual/vhosts/index.html.fr | 46 +- docs/manual/vhosts/ip-based.html.fr | 114 +- docs/manual/vhosts/mass.html.fr | 234 +- docs/manual/vhosts/name-based.html.fr | 224 +- include/ap_release.h | 2 +- 258 files changed, 31106 insertions(+), 31109 deletions(-) diff --git a/docs/manual/bind.html.fr b/docs/manual/bind.html.fr index 5bdd25ce4c..2fd5dbf97f 100644 --- a/docs/manual/bind.html.fr +++ b/docs/manual/bind.html.fr @@ -7,7 +7,7 @@ This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> -Ecoute sélective - Serveur HTTP Apache Version 2.4 +Ecoute sélective - Serveur HTTP Apache Version 2.4 @@ -21,55 +21,55 @@
<-
-Apache > Serveur HTTP > Documentation > Version 2.4

Ecoute sélective

+Apache > Serveur HTTP > Documentation > Version 2.4
top

Vue d'ensemble

- + -

Au démarrage de httpd, un port et une adresse lui sont associés sur - l'hôte local et le serveur se met en attente de l'arrivée d'une requête. - Par défaut, le serveur écoute toutes les adresses de l'hôte local. - Cependant, on peut lui préciser des ports et des adresses spécifiques à écouter, +

Au démarrage de httpd, un port et une adresse lui sont associés sur + l'hôte local et le serveur se met en attente de l'arrivée d'une requête. + Par défaut, le serveur écoute toutes les adresses de l'hôte local. + Cependant, on peut lui préciser des ports et des adresses spécifiques à écouter, ou une combinaison des deux. - Tout ceci est souvent associé avec la fonctionnalité - des hôtes virtuels - qui détermine la manière dont httpd répond aux différents ports, - noms d'hôtes et adresses IP.

+ Tout ceci est souvent associé avec la fonctionnalité + des hôtes virtuels + qui détermine la manière dont httpd répond aux différents ports, + noms d'hôtes et adresses IP.

La directive Listen - enjoint le serveur de n'accepter des requêtes que sur le(s) - port(s) spécifiés ou - une combinaison adresse/port. Si seul un numéro de port est spécifié + enjoint le serveur de n'accepter des requêtes que sur le(s) + port(s) spécifiés ou + une combinaison adresse/port. Si seul un numéro de port est spécifié dans la directive Listen, - le serveur se met à l'écoute sur ce port, sur toutes les interfaces réseau. - Si une adresse IP est spécifiée en plus du port, le serveur va écouter - sur ce port, uniquement sur l'interface réseau correspondante. On peut utiliser + le serveur se met à l'écoute sur ce port, sur toutes les interfaces réseau. + Si une adresse IP est spécifiée en plus du port, le serveur va écouter + sur ce port, uniquement sur l'interface réseau correspondante. On peut utiliser de multiples directives Listen pour - spécifier plusieurs adresses et ports à écouter. Le serveur répondra alors - aux requêtes sur ces ports et adresses spécifiés.

+ spécifier plusieurs adresses et ports à écouter. Le serveur répondra alors + aux requêtes sur ces ports et adresses spécifiés.

Par exemple, pour faire en sorte que le serveur accepte des connexions sur les ports 80 et 8000, sur toutes les interfaces, utilisez :

@@ -86,88 +86,88 @@ Listen 8000 Listen 192.0.2.5:8000
-

Les adresses IPv6 doivent être mises entre crochets, comme dans +

Les adresses IPv6 doivent être mises entre crochets, comme dans l'exemple suivant :

Listen [2001:db8::a00:20ff:fea7:ccea]:80

Des directives Listen - imbriquées provoqueront une erreur fatale qui - empêchera le serveur de démarrer.

+ imbriquées provoqueront une erreur fatale qui + empêchera le serveur de démarrer.

(48)Address already in use: make_sock: could not bind to address [::]:80

Voir cette - discussion dans le wiki pour plus de conseils pour résoudre ce - problème.

+ discussion dans le wiki pour plus de conseils pour résoudre ce + problème.

top
-

Changer la configuration de l'écoute au redémarrage

+

Changer la configuration de l'écoute au redémarrage

-

Lorsque httpd est redémarré, certaines remarques sont à prendre en compte - quant aux modifications apportées aux directives Listen. Au cours du redémarrage, httpd - conserve la liaison avec les ports de la configuration précédente afin - d'éviter l'obtention d'un message d'erreur "Connection refused" lors d'une - tentative ultérieure de connexion au serveur. Si les modifications apportées au jeu de - directives Listen utilisé entrent - en conflit avec ce dernier, le serveur refusera de redémarrer.

+

Lorsque httpd est redémarré, certaines remarques sont à prendre en compte + quant aux modifications apportées aux directives Listen. Au cours du redémarrage, httpd + conserve la liaison avec les ports de la configuration précédente afin + d'éviter l'obtention d'un message d'erreur "Connection refused" lors d'une + tentative ultérieure de connexion au serveur. Si les modifications apportées au jeu de + directives Listen utilisé entrent + en conflit avec ce dernier, le serveur refusera de redémarrer.

Par exemple, modifier la configuration suivante :

Listen 127.0.0.1:80
-

pour utiliser la suivante pourra échouer car écouter le port 80 sur - toutes les adresses IP entre en conflit avec une écoute sélective du port 80 +

pour utiliser la suivante pourra échouer car écouter le port 80 sur + toutes les adresses IP entre en conflit avec une écoute sélective du port 80 sur la seule adresse IP 127.0.0.1.

Listen 80

Pour qu'une telle modification de configuration soit prise en compte avec - succès, il est nécessaire d'arrêter, puis de démarrer le serveur.

+ succès, il est nécessaire d'arrêter, puis de démarrer le serveur.

top
-

Remarques spécifiques à IPv6

+

Remarques spécifiques à IPv6

-

Un nombre croissant de plateformes implémentent IPv6, et +

Un nombre croissant de plateformes implémentent IPv6, et APR supporte IPv6 sur la plupart d'entre elles, - ce qui permet à httpd d'allouer des points de connexion (sockets) IPv6 - et de traiter des requêtes envoyées sur IPv6.

+ ce qui permet à httpd d'allouer des points de connexion (sockets) IPv6 + et de traiter des requêtes envoyées sur IPv6.

-

Les administrateurs de httpd doivent se préoccuper de la possibilité - pour un point de connexion IPv6 de traiter à la fois des connexions IPv4 +

Les administrateurs de httpd doivent se préoccuper de la possibilité + pour un point de connexion IPv6 de traiter à la fois des connexions IPv4 et des connexions IPv6. Le traitement de connexions IPv4 avec un point de connexion IPv6 utilise - des adresses IPv6 traduites en IPv4, qui sont autorisées par défaut sur la - plupart des plateformes, mais sont interdites par défaut sous FreeBSD, NetBSD, - et OpenBSD, afin de respecter la politique de sécurité du système sur ces plateformes. - Sur les systèmes où ces adresses sont interdites par défaut, un - paramètre spécial du script configure permet de modifier + des adresses IPv6 traduites en IPv4, qui sont autorisées par défaut sur la + plupart des plateformes, mais sont interdites par défaut sous FreeBSD, NetBSD, + et OpenBSD, afin de respecter la politique de sécurité du système sur ces plateformes. + Sur les systèmes où ces adresses sont interdites par défaut, un + paramètre spécial du script configure permet de modifier ce comportement pour httpd.

En revanche, sur certaines plateformes comme Linux et Tru64, la - seule manière de gérer à la fois IPv6 et IPv4 passe - par l'utilisation d'adresses traduites. Si vous voulez que httpd gère + seule manière de gérer à la fois IPv6 et IPv4 passe + par l'utilisation d'adresses traduites. Si vous voulez que httpd gère des connexions IPv4 et IPv6 avec un minimum de points de connexion, - ce qui nécessite l'utilisation d'adresses IPv6 traduites en IPv4, + ce qui nécessite l'utilisation d'adresses IPv6 traduites en IPv4, utilisez l'option --enable-v4-mapped du script configure.

-

L'option --enable-v4-mapped est utilisée par défaut sur +

L'option --enable-v4-mapped est utilisée par défaut sur toutes les plateformes sauf FreeBSD, NetBSD, et OpenBSD; - votre httpd a donc probablement été construit avec cette option.

+ votre httpd a donc probablement été construit avec cette option.

-

Si vous souhaitez que httpd ne gère que des connexions IPv4, sans se - soucier de ce que vos plateforme et APR supportent, spécifiez une adresse +

Si vous souhaitez que httpd ne gère que des connexions IPv4, sans se + soucier de ce que vos plateforme et APR supportent, spécifiez une adresse IPv4 dans toutes les directives Listen, comme dans l'exemple suivant :

@@ -176,25 +176,25 @@ Listen 192.0.2.5:8000 Listen 192.0.2.1:80
-

Si votre plateforme le supporte et si vous souhaitez que httpd gère - des connexions IPv4 et IPv6 sur des points de connexion séparés - (c'est à dire désactiver la traduction des adresses IPv6 au format IPv4), +

Si votre plateforme le supporte et si vous souhaitez que httpd gère + des connexions IPv4 et IPv6 sur des points de connexion séparés + (c'est à dire désactiver la traduction des adresses IPv6 au format IPv4), utilisez l'option --disable-v4-mapped du script configure. --disable-v4-mapped est - utilisé par défaut sur FreeBSD, NetBSD, et OpenBSD.

+ utilisé par défaut sur FreeBSD, NetBSD, et OpenBSD.

top
-

Spécification du protocole avec Listen

+

Spécification du protocole avec Listen

-

Dans la plupart des configurations, le second paramètre optionnel +

Dans la plupart des configurations, le second paramètre optionnel protocol de la directive Listen n'est pas obligatoire. S'il - n'est pas spécifié, les protocoles par défaut + n'est pas spécifié, les protocoles par défaut sont https pour le port 443, et http pour - tous les autres ports. Le protocole sert à déterminer quel module - doit traiter une requête, et à appliquer les optimisations - spécifiques au protocole via la directive AcceptFilter.

+ tous les autres ports. Le protocole sert à déterminer quel module + doit traiter une requête, et à appliquer les optimisations + spécifiques au protocole via la directive AcceptFilter.

-

Vous ne devez définir le protocole que si vous travaillez avec +

Vous ne devez définir le protocole que si vous travaillez avec des ports non standards. Par exemple, pour travailler en https sur le port 8443 :

@@ -202,34 +202,34 @@ Listen 192.0.2.1:80
top
-

Comment tout ceci fonctionne-t-il avec les hôtes virtuels

+

Comment tout ceci fonctionne-t-il avec les hôtes virtuels

-

La directive Listen n'implémente pas les hôtes virtuels. +

La directive Listen n'implémente pas les hôtes virtuels. Elle indique simplement au serveur principal sur quels adresses et ports - il doit écouter. Si aucune directive + il doit écouter. Si aucune directive <VirtualHost> - n'est présente, le serveur se comportera de la même façon pour toutes - les requêtes acceptées. En revanche, la directive + n'est présente, le serveur se comportera de la même façon pour toutes + les requêtes acceptées. En revanche, la directive <VirtualHost> - peut être utilisée pour provoquer une réaction différente du serveur - pour un ou plusieurs adresses ou ports. Pour implémenter un hôte virtuel, - on doit d'abord indiquer au serveur sur quels adresses et ports il doit écouter. + peut être utilisée pour provoquer une réaction différente du serveur + pour un ou plusieurs adresses ou ports. Pour implémenter un hôte virtuel, + on doit d'abord indiquer au serveur sur quels adresses et ports il doit écouter. Ensuite, une section <VirtualHost> - doit être créée pour le couple adresse+port spécifié afin de définir le - comportement de cet hôte virtuel. Notez que si la directive + doit être créée pour le couple adresse+port spécifié afin de définir le + comportement de cet hôte virtuel. Notez que si la directive <VirtualHost> - est définie pour une adresse et un port sur lesquels le serveur n'est pas censé - écouter, cet hôte virtuel ne sera pas accessible.

+ est définie pour une adresse et un port sur lesquels le serveur n'est pas censé + écouter, cet hôte virtuel ne sera pas accessible.

Langues Disponibles:  de  |  en  | - fr  | + fr  |  ja  |  ko  | - tr 

+ tr 

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.
- - - -
<-
-
-Apache > Servidor HTTP > Documentación > Versión 2.4 > How-To / Tutoriales

Tutorial de Apache httpd: Introducción a los Server Side Includes -

-
-

Idiomas disponibles:  en  | - es  | - fr  | - ja  | - ko 

-
- -

Los Server Side Includes (Inclusiones en la parte Servidor) facilitan un método para añadir contenido dinámico a documentos HTML existentes.

-
- -
top
-
-

Introducción

- - -

Este artículo trata sobre los Server Side Includes, generalmente llamados SSI. - En este artículo, hablaremos sobre cómo configurar su servidor para permitir SSI, - y de técnicas básicas de SSI para añadir contenido dinámico a sus páginas - HTML existentes.

- -

Más adelante también hablaremos de algunas técnicas más avanzadas que - pueden usarse con SSI, tales como declaraciones condicionales en sus directivas SSI.

- -
top
-
-

¿Qué son los SSI?

- -

SSI (Server Side Includes) son directivas que se introducen en páginas HTML y son - evaluadas por el servidor mientras éste las sirve. Le permiten añadir - contenido generado de manera dinámica a sus páginas HTML existentes sin tener - que servir una página entera a través de un programa CGI, u otra tecnología - para generar contenido dinámico.

- -

Por ejemplo, podría colocar una directiva en una página existente de HTML - de esta manera:

- -

- <!--#echo var="DATE_LOCAL" --> -

- -

Y, cuando se sirve la página, este fragmento será evaluado y sustituido con su resultado:

- -

- Tuesday, 15-Jan-2013 19:28:54 EST -

- -

La decisión sobre cuándo usar SSI, o de cuándo generar una página al completo con algún programa, suele depender generalmente de la cantidad de contenido estático que contiene, y cuánto de esa página tiene que ser recalculado cada vez que ésta se sirve. SSI es un buen método para añadir pequeñas partes de información, tales como la hora actual - como se ha mostrado más arriba. Pero si la mayoría de su página se tiene que generar en el momento en el que se está sirviendo, necesita buscar otra opción más adecuada que no sea SSI.

-
top
-
-

Configurar su servidor para permitir SSI

- - -

Para permitir SSI en su servidor, debe tener la siguiente directiva en su fichero httpd.conf , o en un fichero - .htaccess:

-
Options +Includes
- - -

Esto le dice a Apache que quiere permitir que se examinen los ficheros buscando directivas SSI. Tenga en cuenta que la mayoría de las configuraciones contienen múltiples directivas Options que pueden sobreescribirse las unas a las otras. Probablemente necesitará aplicar Options al directorio específico donde quiere SSI activado para asegurarse de que se evalúa en último lugar y por tanto se acabará aplicando.

- -

No todos los ficheros se examinan buscando directivas SSI. Usted Le tiene que indicar a Apache qué ficheros se tienen que examinar. Hay dos formas de hacer esto. Puede decirle a Apache que examine cualquier fichero con una extensión determinada, como por ejemplo .shtml, con las siguientes directivas:

-
AddType text/html .shtml
-AddOutputFilter INCLUDES .shtml
- - -

Una desventaja de este método es que si quisiera añadir directivas SSI a una página ya existente, tendría que cambiar el nombre de la página, y todos los enlaces que apuntasen a esa página, todo para poder darle la extensión .shtml y que esas directivas sean interpretadas.

- -

El otro método es usar la directiva XBitHack :

-
XBitHack on
- - -

XBitHack le dice a Apache que examine ficheros buscando directivas SSI si los ficheros tienen el bit de ejecución configurado. Asi que para añadir directivas SSI a una página existente, en lugar de tener que cambiarle el nombre, solo tendría que convertirla en ejecutable usando chmod.

-

- chmod +x pagename.html -

- -

Una breve recomendación de qué no hay que hacer. Ocasionalmente vemos gente recomendar que le diga a Apache que examine todos los ficheros - .html para activar SSI, para no tener que lidiar renombrando los ficheros a .shtml. Quizás estas personas no hayan oido hablar de XBitHack. Lo que hay que tener en cuenta, es que haciendo eso, está pidiendo al Apache que lea cada uno de los ficheros que manda al cliente, incluso si no contenien directivas SSI. Esto puede ralentizar bastante el servidor, y no es una buena idea.

- -

Por supuesto, en Windows, no hay tal cosa como la configuración del bit de ejecución, así que esto limita las opciones un poco.

- -

En su configuración por defecto, Apache no envía la fecha de última modificación o la longitud de contenido de páginas SSI porque es dificil calcular estos valores para contenido dinámico. Esto puede impedir que se cachee un documento, y dar como resultado en apareciencia un rendimiento más lento del cliente. Hay dos maneras de solucionar esto:

- -
    -
  1. Usando la configuración XBitHack Full. Esto le indica a apache que determine la fecha de última modificación mirando sólo la fecha del fichero que se ha solicitado originalmente, obviando la modificación de cualquier otro fichero al que se hace referencia mediante SSI.
  2. - -
  3. Use las directivas facilitadas por mod_expires para configurar una expiración específica de tiempo en sus ficheros, y así hacer saber a proxies o navegadores web que es aceptable cachearlos.
  4. -
-
top
-
-

Directivas SSI básicas

- -

Las directivas SSI tienen la sintaxis siguiente:

-

- <!--#function attribute=value attribute=value ... --> -

- -

Se formatean como comentarios HTML, así si no tiene SSI habilitado correctamente, el navegador las obviará, pero todavía serán visibles en el fichero HTML. Si tiene SSI configurado correctamente, la directiva será reemplazada con su propio resultado.

- -

Esta función es una de tantas, y hablaremos de algunas de ellas más adelante. Por ahora, aquí mostramos unos ejemplos de lo que puede hacer con SSI.

- -

La fecha de hoy

- -

- <!--#echo var="DATE_LOCAL" --> -

- -

La función echo sencillamente muestra el valor de una variable. Hay muchas variables estándar que incluyen un conjunto de variables de entorno disponibles para programas CGI. También puede definir sus propias variables con la función set.

- -

Si no le gusta el formato en el que se imprime la fecha, puede usar la función config, con un atributo - timefmt para modificar ese formato.

- -

- <!--#config timefmt="%A %B %d, %Y" -->
- Today is <!--#echo var="DATE_LOCAL" --> -

- - -

Fecha de modificación del fichero

- -

- La última modificación de este documento <!--#flastmod file="index.html" --> -

- -

Esta función también está sujeta a configuraciones de formato de - timefmt.

- - -

Incluyendo los resultados de un programa CGI

- -

Este es uno de los usos más comunes de SSI - para sacar el resultado de un programa CGI, tal y como ocurre con el que fuera el programa favorito de todos, un ``contador de visitas.''

- -

- <!--#include virtual="/cgi-bin/counter.pl" --> -

- - -
top
-
-

Más ejemplos

- - -

A continuación hay algunos ejemplos específicos de cosas que puede hacer con SSI en sus documentos HTML.

- -

¿Cuándo fue modificado este documento?

- -

Antes mencionamos que puede usar SSI para informar al usuario cuando el documento ha sido modificado por última vez. Aun así, el método actual para hacerlo se dejó en cuestión. El código que se muestra a continuación, puesto en un documento HTML, pondrá ese sello de tiempo en su página. Por descontado, tendrá que tener SSI habilitado correctamente, como se indicó más arriba.

-

- <!--#config timefmt="%A %B %d, %Y" -->
- Ultima modificación de este fichero <!--#flastmod file="ssi.shtml" --> -

- -

Obviamente, necesitará sustituir el nombre de fichero - ssi.shtml con el nombre real del fichero al que usted hace referencia. Esto puede ser inconveniente si solo está buscando un trozo genérico de código que pueda copiar y pegar en cualquier fichero, asi que probablemente necesite usar la variable LAST_MODIFIED en su lugar:

-

- <!--#config timefmt="%D" -->
- Última modificación de este fichero <!--#echo var="LAST_MODIFIED" --> -

- -

Para más detalles sobre el formato timefmt, vaya a su buscador favorito y busque strftime. La sintaxis es la misma.

- - -

Incluyendo un pie de página estándar

- - -

Si gestiona un sitio que tiene más de unas cuantas páginas, probablemente se de cuenta de que modificar todas esa páginas es un auténtico engorro, especialmente si trata de mantener una apareciencia homogénea en todas ellas.

- -

Si usa un Include de fichero para la cabecera y/o pie de página puede reducir la carga de trabajo de estas actualizaciones. Solo tiene que hacer un sólo pie de página, y después incluirlo en cada página con el comando SSI include. La función include - puede determinar qué fichero incluir cuando usa el atributo - file, o el atributo virtual. El atributo file es una ruta de fichero, relativa al directorio actual. Eso significa que no puede ser una ruta de fichero absoluta (que comienza con /), ni tampoco puede contener ../ como parte de la ruta. El atributo virtual es probablemente más útil, y debería especificar una URL relativa al documento que se está sirviendo. Puede empezar con una /, pero debe estar en el mismo servidor que el fichero que se está sirviendo.

-

- <!--#include virtual="/footer.html" --> -

- -

Frecuentemente combinaremos las dos últimas, poniendo una directiva - LAST_MODIFIED dentro de un fichero de pie de página que va a ser incluido. Se pueden encontrar directivas SSI en el fichero que se incluye, las inclusiones pueden anidarse - lo que quiere decir, que el fichero incluido puede incluir otro fichero, y así sucesivamente.

- - -
top
-
-

¿Qué más puedo configurar?

- - -

Además de poder configurar el formato de la hora, también puede configurar dos cosas más.

- -

Generalmente, cuando algo sale mal con sus directivas SSI, obtiene el mensaje (ha ocurrido un error procesando esta directiva)

-

- [an error occurred while processing this directive] -

- -

Si quiere cambiar ese mensaje por otra cosa, puede hacerlo con el atributo errmsg para la función - config:

-

- <!--#config errmsg="[Parece que no sabe cómo usar SSI]" --> -

- -

Afortunadamente, los usuarios finales nunca verán este mensaje, porque habrá resuelto todos los problemas con sus directivas SSI antes de publicar su página web. (¿Verdad?)

- -

Y puede configurar el formato en el que los tamaños de fichero se muestran con el formato sizefmt. Puede especificar - bytes para un recuento total en bytes, o - abbrev para un número abreviado en Kb o Mb, según sea necesario.

-
top
-
-

Ejecutando comandos

- - -

Puede usar la función exec para ejecutar comandos. Y SSI puede ejecutar un comando usando la shell (/bin/sh, para ser más precisos - o la shell de DOS , si está en Win32). Lo siguiente, por ejemplo, le dará un listado de ficheros en un directorio.

-

- <pre>
- <!--#exec cmd="ls" -->
- </pre> -

- -

o, en Windows

-

- <pre>
- <!--#exec cmd="dir" -->
- </pre> -

- -

Notará un formato estraño con esta directiva en Windows, porque el resultado de dir contiene la cadena de caracterers ``<dir>'' ,que confunde a los navegadores.

- -

Tenga en cuenta de que esta característica es muy peligrosa, puesto que ejecutará cualquier código que esté especificado con la etiqueta - exec. Si tiene una situación en la que los usuarios pueden editar contenido en sus páginas web, tales como por ejemplo un ``registro de visitas'', asegúrese de tener esta característica deshabilitada. Puede permitir SSI, pero no la característica exec, con el argumento IncludesNOEXEC en la directiva Options.

-
top
-
-

Técnicas avanzadas de SSI

- - -

Además de mostrar contenido, SSI en Apache da la opción de configurar variables y usar esas variables en comparaciones y condicionales.

- -

Configurando Variables

- -

Usando la directiva set, puede configurar variables para su uso posterior. La sintaxis es como sigue:

-

- <!--#set var="name" value="Rich" --> -

- -

Además de configurar valores literales como esto, puede usar cualquier otra variable, incluyendo variables de entorno o las variables que se han mencionado antes (como por ejemplo LAST_MODIFIED) para dar valores a sus variables. Podrá especificar que algo es una vaiable, en lugar de una cadena de caracters literal, usando el símbolo del dolar ($) antes del nombre de la variable.

- -

<!--#set var="modified" value="$LAST_MODIFIED" --> -

- -

Para poner el símbolo del dolar de manera literal en un valor de su variable tendrá que escapar el símbolo del dolar con una barra "\".

-

- <!--#set var="cost" value="\$100" --> -

- -

Por último, si quiere poner una variable entre medias de una cadena de caracteres más larga, y se da la coincidencia de que el nombre de la variable se encontrará con otros caracteres, y de esta manera se confundirá con otros caracteres, puedes poner el nombre de la variable entre llaves, y así eliminar la confusión. (Es dificil encontrar un buen ejemplo para esto, pero con éste a lo mejor entiende lo que tratamos de transmitir.)

-

- <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> -

- - -

Expresiones condicionales

- - -

Ahora que tenemos variables, y somos capaces de comparar sus valores, podemos usarlas para expresar condicionales. Esto permite a SSI ser un cierto tipo de lenguaje de programación diminuto. - mod_include provee una estrucura if, - elif, else, endif - para construir declaraciones condicionales. Esto le permite generar de manera efectiva multitud de páginas lógicas desde tan solo una página.

- -

La estructura de este sistema condicional es:

-

- <!--#if expr="test_condition" -->
- <!--#elif expr="test_condition" -->
- <!--#else -->
- <!--#endif --> -

- -

Una test_condition puede ser cualquier tipo de comparación lógica - o bien comparando valores entre ellos, o probando la ``verdad'' (o falsedad) de un valor en particular. (Una cadena de caracteres cualquiera es verdadera si no está vacía.) Para una lista completa de operadores de comparación, vea la documentación de mod_include.

- -

Por ejemplo, si quiere personalizar el texto en su página web basado en la hora actual, puede usar la siguiente receta, colocada en su página HTML:

- -

- Good - <!--#if expr="%{TIME_HOUR} <12" -->
- morning!
- <!--#else -->
- afternoon!
- <!--#endif -->
-

- -

Cualquier otra variable (o bien las que defina usted, o variables de entorno normales) puede usarse en declaraciones condicionales. - Vea Expresiones en el Servidor Apache HTTP para más información sobre el motor de evaluación de expresiones.

- -

Con la habilidad de Apache de configurar variables de entorno con directivas SetEnvIf, y otras directivas relacionadas, - esta funcionalidad puede llevarle a hacer una gran variedad de contenido dinámico en la parte de servidor sin tener que depender de una aplicación web al completo.

- -
top
-
-

Conclusión

- -

Desde luego SSI no es un reemplazo para CGI u otras tecnologías que se usen para generar páginas web dinámicas. Pero es un gran método para añadir pequeñas cantidaddes de contenido dinámico a páginas web, sin hacer mucho más trabajo extra.

-
-
-

Idiomas disponibles:  en  | - es  | - fr  | - ja  | - ko 

-
top

Comentarios

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.
+ --> +Tutorial de Apache httpd: Introducción a los Server Side Includes + - Servidor HTTP Apache Versión 2.4 + + + + + + + +
<-
+

Tutorial de Apache httpd: Introducción a los Server Side Includes +

+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
+ +

Los Server Side Includes (Inclusiones en la parte Servidor) facilitan un método para añadir contenido dinámico a documentos HTML existentes.

+
+ +
top
+
+

Introducción

+ + +

Este artículo trata sobre los Server Side Includes, generalmente llamados SSI. + En este artículo, hablaremos sobre cómo configurar su servidor para permitir SSI, + y de técnicas básicas de SSI para añadir contenido dinámico a sus páginas + HTML existentes.

+ +

Más adelante también hablaremos de algunas técnicas más avanzadas que + pueden usarse con SSI, tales como declaraciones condicionales en sus directivas SSI.

+ +
top
+
+

¿Qué son los SSI?

+ +

SSI (Server Side Includes) son directivas que se introducen en páginas HTML y son + evaluadas por el servidor mientras éste las sirve. Le permiten añadir + contenido generado de manera dinámica a sus páginas HTML existentes sin tener + que servir una página entera a través de un programa CGI, u otra tecnología + para generar contenido dinámico.

+ +

Por ejemplo, podría colocar una directiva en una página existente de HTML + de esta manera:

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

Y, cuando se sirve la página, este fragmento será evaluado y sustituido con su resultado:

+ +

+ Tuesday, 15-Jan-2013 19:28:54 EST +

+ +

La decisión sobre cuándo usar SSI, o de cuándo generar una página al completo con algún programa, suele depender generalmente de la cantidad de contenido estático que contiene, y cuánto de esa página tiene que ser recalculado cada vez que ésta se sirve. SSI es un buen método para añadir pequeñas partes de información, tales como la hora actual - como se ha mostrado más arriba. Pero si la mayoría de su página se tiene que generar en el momento en el que se está sirviendo, necesita buscar otra opción más adecuada que no sea SSI.

+
top
+
+

Configurar su servidor para permitir SSI

+ + +

Para permitir SSI en su servidor, debe tener la siguiente directiva en su fichero httpd.conf , o en un fichero + .htaccess:

+
Options +Includes
+ + +

Esto le dice a Apache que quiere permitir que se examinen los ficheros buscando directivas SSI. Tenga en cuenta que la mayoría de las configuraciones contienen múltiples directivas Options que pueden sobreescribirse las unas a las otras. Probablemente necesitará aplicar Options al directorio específico donde quiere SSI activado para asegurarse de que se evalúa en último lugar y por tanto se acabará aplicando.

+ +

No todos los ficheros se examinan buscando directivas SSI. Usted Le tiene que indicar a Apache qué ficheros se tienen que examinar. Hay dos formas de hacer esto. Puede decirle a Apache que examine cualquier fichero con una extensión determinada, como por ejemplo .shtml, con las siguientes directivas:

+
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

Una desventaja de este método es que si quisiera añadir directivas SSI a una página ya existente, tendría que cambiar el nombre de la página, y todos los enlaces que apuntasen a esa página, todo para poder darle la extensión .shtml y que esas directivas sean interpretadas.

+ +

El otro método es usar la directiva XBitHack :

+
XBitHack on
+ + +

XBitHack le dice a Apache que examine ficheros buscando directivas SSI si los ficheros tienen el bit de ejecución configurado. Asi que para añadir directivas SSI a una página existente, en lugar de tener que cambiarle el nombre, solo tendría que convertirla en ejecutable usando chmod.

+

+ chmod +x pagename.html +

+ +

Una breve recomendación de qué no hay que hacer. Ocasionalmente vemos gente recomendar que le diga a Apache que examine todos los ficheros + .html para activar SSI, para no tener que lidiar renombrando los ficheros a .shtml. Quizás estas personas no hayan oido hablar de XBitHack. Lo que hay que tener en cuenta, es que haciendo eso, está pidiendo al Apache que lea cada uno de los ficheros que manda al cliente, incluso si no contenien directivas SSI. Esto puede ralentizar bastante el servidor, y no es una buena idea.

+ +

Por supuesto, en Windows, no hay tal cosa como la configuración del bit de ejecución, así que esto limita las opciones un poco.

+ +

En su configuración por defecto, Apache no envía la fecha de última modificación o la longitud de contenido de páginas SSI porque es dificil calcular estos valores para contenido dinámico. Esto puede impedir que se cachee un documento, y dar como resultado en apareciencia un rendimiento más lento del cliente. Hay dos maneras de solucionar esto:

+ +
    +
  1. Usando la configuración XBitHack Full. Esto le indica a apache que determine la fecha de última modificación mirando sólo la fecha del fichero que se ha solicitado originalmente, obviando la modificación de cualquier otro fichero al que se hace referencia mediante SSI.
  2. + +
  3. Use las directivas facilitadas por mod_expires para configurar una expiración específica de tiempo en sus ficheros, y así hacer saber a proxies o navegadores web que es aceptable cachearlos.
  4. +
+
top
+
+

Directivas SSI básicas

+ +

Las directivas SSI tienen la sintaxis siguiente:

+

+ <!--#function attribute=value attribute=value ... --> +

+ +

Se formatean como comentarios HTML, así si no tiene SSI habilitado correctamente, el navegador las obviará, pero todavía serán visibles en el fichero HTML. Si tiene SSI configurado correctamente, la directiva será reemplazada con su propio resultado.

+ +

Esta función es una de tantas, y hablaremos de algunas de ellas más adelante. Por ahora, aquí mostramos unos ejemplos de lo que puede hacer con SSI.

+ +

La fecha de hoy

+ +

+ <!--#echo var="DATE_LOCAL" --> +

+ +

La función echo sencillamente muestra el valor de una variable. Hay muchas variables estándar que incluyen un conjunto de variables de entorno disponibles para programas CGI. También puede definir sus propias variables con la función set.

+ +

Si no le gusta el formato en el que se imprime la fecha, puede usar la función config, con un atributo + timefmt para modificar ese formato.

+ +

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" --> +

+ + +

Fecha de modificación del fichero

+ +

+ La última modificación de este documento <!--#flastmod file="index.html" --> +

+ +

Esta función también está sujeta a configuraciones de formato de + timefmt.

+ + +

Incluyendo los resultados de un programa CGI

+ +

Este es uno de los usos más comunes de SSI - para sacar el resultado de un programa CGI, tal y como ocurre con el que fuera el programa favorito de todos, un ``contador de visitas.''

+ +

+ <!--#include virtual="/cgi-bin/counter.pl" --> +

+ + +
top
+
+

Más ejemplos

+ + +

A continuación hay algunos ejemplos específicos de cosas que puede hacer con SSI en sus documentos HTML.

+ +

¿Cuándo fue modificado este documento?

+ +

Antes mencionamos que puede usar SSI para informar al usuario cuando el documento ha sido modificado por última vez. Aun así, el método actual para hacerlo se dejó en cuestión. El código que se muestra a continuación, puesto en un documento HTML, pondrá ese sello de tiempo en su página. Por descontado, tendrá que tener SSI habilitado correctamente, como se indicó más arriba.

+

+ <!--#config timefmt="%A %B %d, %Y" -->
+ Ultima modificación de este fichero <!--#flastmod file="ssi.shtml" --> +

+ +

Obviamente, necesitará sustituir el nombre de fichero + ssi.shtml con el nombre real del fichero al que usted hace referencia. Esto puede ser inconveniente si solo está buscando un trozo genérico de código que pueda copiar y pegar en cualquier fichero, asi que probablemente necesite usar la variable LAST_MODIFIED en su lugar:

+

+ <!--#config timefmt="%D" -->
+ Última modificación de este fichero <!--#echo var="LAST_MODIFIED" --> +

+ +

Para más detalles sobre el formato timefmt, vaya a su buscador favorito y busque strftime. La sintaxis es la misma.

+ + +

Incluyendo un pie de página estándar

+ + +

Si gestiona un sitio que tiene más de unas cuantas páginas, probablemente se de cuenta de que modificar todas esa páginas es un auténtico engorro, especialmente si trata de mantener una apareciencia homogénea en todas ellas.

+ +

Si usa un Include de fichero para la cabecera y/o pie de página puede reducir la carga de trabajo de estas actualizaciones. Solo tiene que hacer un sólo pie de página, y después incluirlo en cada página con el comando SSI include. La función include + puede determinar qué fichero incluir cuando usa el atributo + file, o el atributo virtual. El atributo file es una ruta de fichero, relativa al directorio actual. Eso significa que no puede ser una ruta de fichero absoluta (que comienza con /), ni tampoco puede contener ../ como parte de la ruta. El atributo virtual es probablemente más útil, y debería especificar una URL relativa al documento que se está sirviendo. Puede empezar con una /, pero debe estar en el mismo servidor que el fichero que se está sirviendo.

+

+ <!--#include virtual="/footer.html" --> +

+ +

Frecuentemente combinaremos las dos últimas, poniendo una directiva + LAST_MODIFIED dentro de un fichero de pie de página que va a ser incluido. Se pueden encontrar directivas SSI en el fichero que se incluye, las inclusiones pueden anidarse - lo que quiere decir, que el fichero incluido puede incluir otro fichero, y así sucesivamente.

+ + +
top
+
+

¿Qué más puedo configurar?

+ + +

Además de poder configurar el formato de la hora, también puede configurar dos cosas más.

+ +

Generalmente, cuando algo sale mal con sus directivas SSI, obtiene el mensaje (ha ocurrido un error procesando esta directiva)

+

+ [an error occurred while processing this directive] +

+ +

Si quiere cambiar ese mensaje por otra cosa, puede hacerlo con el atributo errmsg para la función + config:

+

+ <!--#config errmsg="[Parece que no sabe cómo usar SSI]" --> +

+ +

Afortunadamente, los usuarios finales nunca verán este mensaje, porque habrá resuelto todos los problemas con sus directivas SSI antes de publicar su página web. (¿Verdad?)

+ +

Y puede configurar el formato en el que los tamaños de fichero se muestran con el formato sizefmt. Puede especificar + bytes para un recuento total en bytes, o + abbrev para un número abreviado en Kb o Mb, según sea necesario.

+
top
+
+

Ejecutando comandos

+ + +

Puede usar la función exec para ejecutar comandos. Y SSI puede ejecutar un comando usando la shell (/bin/sh, para ser más precisos - o la shell de DOS , si está en Win32). Lo siguiente, por ejemplo, le dará un listado de ficheros en un directorio.

+

+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre> +

+ +

o, en Windows

+

+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre> +

+ +

Notará un formato estraño con esta directiva en Windows, porque el resultado de dir contiene la cadena de caracterers ``<dir>'' ,que confunde a los navegadores.

+ +

Tenga en cuenta de que esta característica es muy peligrosa, puesto que ejecutará cualquier código que esté especificado con la etiqueta + exec. Si tiene una situación en la que los usuarios pueden editar contenido en sus páginas web, tales como por ejemplo un ``registro de visitas'', asegúrese de tener esta característica deshabilitada. Puede permitir SSI, pero no la característica exec, con el argumento IncludesNOEXEC en la directiva Options.

+
top
+
+

Técnicas avanzadas de SSI

+ + +

Además de mostrar contenido, SSI en Apache da la opción de configurar variables y usar esas variables en comparaciones y condicionales.

+ +

Configurando Variables

+ +

Usando la directiva set, puede configurar variables para su uso posterior. La sintaxis es como sigue:

+

+ <!--#set var="name" value="Rich" --> +

+ +

Además de configurar valores literales como esto, puede usar cualquier otra variable, incluyendo variables de entorno o las variables que se han mencionado antes (como por ejemplo LAST_MODIFIED) para dar valores a sus variables. Podrá especificar que algo es una vaiable, en lugar de una cadena de caracters literal, usando el símbolo del dolar ($) antes del nombre de la variable.

+ +

<!--#set var="modified" value="$LAST_MODIFIED" --> +

+ +

Para poner el símbolo del dolar de manera literal en un valor de su variable tendrá que escapar el símbolo del dolar con una barra "\".

+

+ <!--#set var="cost" value="\$100" --> +

+ +

Por último, si quiere poner una variable entre medias de una cadena de caracteres más larga, y se da la coincidencia de que el nombre de la variable se encontrará con otros caracteres, y de esta manera se confundirá con otros caracteres, puedes poner el nombre de la variable entre llaves, y así eliminar la confusión. (Es dificil encontrar un buen ejemplo para esto, pero con éste a lo mejor entiende lo que tratamos de transmitir.)

+

+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --> +

+ + +

Expresiones condicionales

+ + +

Ahora que tenemos variables, y somos capaces de comparar sus valores, podemos usarlas para expresar condicionales. Esto permite a SSI ser un cierto tipo de lenguaje de programación diminuto. + mod_include provee una estrucura if, + elif, else, endif + para construir declaraciones condicionales. Esto le permite generar de manera efectiva multitud de páginas lógicas desde tan solo una página.

+ +

La estructura de este sistema condicional es:

+

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

Una test_condition puede ser cualquier tipo de comparación lógica - o bien comparando valores entre ellos, o probando la ``verdad'' (o falsedad) de un valor en particular. (Una cadena de caracteres cualquiera es verdadera si no está vacía.) Para una lista completa de operadores de comparación, vea la documentación de mod_include.

+ +

Por ejemplo, si quiere personalizar el texto en su página web basado en la hora actual, puede usar la siguiente receta, colocada en su página HTML:

+ +

+ Good + <!--#if expr="%{TIME_HOUR} <12" -->
+ morning!
+ <!--#else -->
+ afternoon!
+ <!--#endif -->
+

+ +

Cualquier otra variable (o bien las que defina usted, o variables de entorno normales) puede usarse en declaraciones condicionales. + Vea Expresiones en el Servidor Apache HTTP para más información sobre el motor de evaluación de expresiones.

+ +

Con la habilidad de Apache de configurar variables de entorno con directivas SetEnvIf, y otras directivas relacionadas, + esta funcionalidad puede llevarle a hacer una gran variedad de contenido dinámico en la parte de servidor sin tener que depender de una aplicación web al completo.

+ +
top
+
+

Conclusión

+ +

Desde luego SSI no es un reemplazo para CGI u otras tecnologías que se usen para generar páginas web dinámicas. Pero es un gran método para añadir pequeñas cantidaddes de contenido dinámico a páginas web, sin hacer mucho más trabajo extra.

+
+
+

Idiomas disponibles:  en  | + es  | + fr  | + ja  | + ko 

+
top

Comentarios

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.
+//--> \ No newline at end of file diff --git a/docs/manual/howto/ssi.html.fr b/docs/manual/howto/ssi.html.fr index b8290482a0..4f97d73c2d 100644 --- a/docs/manual/howto/ssi.html.fr +++ b/docs/manual/howto/ssi.html.fr @@ -7,7 +7,7 @@ This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> -Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" +<title>Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" (Server Side Includes - SSI) - Serveur HTTP Apache Version 2.4 @@ -22,18 +22,18 @@
<-
-Apache > Serveur HTTP > Documentation > Version 2.4 > Recettes et tutoriels

Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" +Apache > Serveur HTTP > Documentation > Version 2.4 > Recettes et tutoriels

Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur" (Server Side Includes - SSI)

Langues Disponibles:  en  | - es  | - fr  | + es  | + fr  |  ja  |  ko 

-

Les SSI permettent d'ajouter du contenu dynamique à des documents -HTML préexistants.

+

Les SSI permettent d'ajouter du contenu dynamique à des documents +HTML préexistants.

top

Introduction

- + -

Cet article traite des Inclusions Côté Serveur (Server Side - Includes), plus communément appelés SSI. Vous trouverez ici la - manière de configurer votre serveur pour permettre les SSI, ainsi - qu'une introduction à quelques techniques SSI de base permettant - d'ajouter du contenu dynamique à vos pages HTML préexistantes.

+

Cet article traite des Inclusions Côté Serveur (Server Side + Includes), plus communément appelés SSI. Vous trouverez ici la + manière de configurer votre serveur pour permettre les SSI, ainsi + qu'une introduction à quelques techniques SSI de base permettant + d'ajouter du contenu dynamique à vos pages HTML préexistantes.

-

La dernière partie de cet article sera consacrée aux - configurations SSI plus avancées, telles que les expressions +

La dernière partie de cet article sera consacrée aux + configurations SSI plus avancées, telles que les expressions conditionnelles dans les directives SSI.

top

Qu'est-ce que SSI ?

-

SSI (Server Side Includes) est constitué de directives placées dans - des pages HTML, et évaluées par le serveur au moment où les pages - sont servies. Elles vous permettent d'ajouter du contenu généré - dynamiquement à une page HTML préexistante, sans avoir à servir la - page entière via un programme CGI, ou toute autre technologie de +

SSI (Server Side Includes) est constitué de directives placées dans + des pages HTML, et évaluées par le serveur au moment où les pages + sont servies. Elles vous permettent d'ajouter du contenu généré + dynamiquement à une page HTML préexistante, sans avoir à servir la + page entière via un programme CGI, ou toute autre technologie de contenu dynamique.

-

Par exemple, vous pouvez insérer la directive suivante dans une +

Par exemple, vous pouvez insérer la directive suivante dans une page HTML existante :

<!--#echo var="DATE_LOCAL" -->

-

Ainsi, lorsque la page sera servie, la directive sera évaluée et - remplacée par sa valeur :

+

Ainsi, lorsque la page sera servie, la directive sera évaluée et + remplacée par sa valeur :

Tuesday, 15-Jan-2013 19:28:54 EST

-

Le choix entre l'utilisation des SSI et la génération entière de - la page par un programme quelconque, est en général dicté par la - proportion de contenu statique et de contenu devant être généré - chaque fois que la page est servie. SSI est idéal pour ajouter de - petites quantités d'information, comme l'heure courante dans - l'exemple précédent. Mais si la - plus grande partie de votre page est générée au moment où elle est +

Le choix entre l'utilisation des SSI et la génération entière de + la page par un programme quelconque, est en général dicté par la + proportion de contenu statique et de contenu devant être généré + chaque fois que la page est servie. SSI est idéal pour ajouter de + petites quantités d'information, comme l'heure courante dans + l'exemple précédent. Mais si la + plus grande partie de votre page est générée au moment où elle est servie, vous devez vous tourner vers une autre solution.

top
@@ -105,76 +105,76 @@ HTML préexistants.

Options +Includes
-

Cette directive indique à Apache que vous désirez permettre la - recherche de directives SSI lors de l'interprétation des fichiers. +

Cette directive indique à Apache que vous désirez permettre la + recherche de directives SSI lors de l'interprétation des fichiers. Notez cependant que la plupart des configurations contiennent de nombreuses directives Options - qui peuvent s'écraser les unes les autres. Vous devrez probablement - appliquer ces directives Options au répertoire - spécifique pour lequel vous voulez activer les SSI, afin d'être sûr - qu'elles y seront bien activées.

+ qui peuvent s'écraser les unes les autres. Vous devrez probablement + appliquer ces directives Options au répertoire + spécifique pour lequel vous voulez activer les SSI, afin d'être sûr + qu'elles y seront bien activées.

Tout fichier ne fera cependant pas l'objet de recherche de - directives SSI. Vous devez indiquer à Apache quels fichiers seront - concernés. Vous pouvez y parvenir en indiquant une extension, comme - .shtml, à l'aide des directives suivantes :

+ directives SSI. Vous devez indiquer à Apache quels fichiers seront + concernés. Vous pouvez y parvenir en indiquant une extension, comme + .shtml, à l'aide des directives suivantes :

AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
-

Un des désavantages de cette approche réside dans le fait que si - vous voulez ajouter des directives SSI à une page préexistante, vous +

Un des désavantages de cette approche réside dans le fait que si + vous voulez ajouter des directives SSI à une page préexistante, vous devrez changer le nom de cette page, et donc tout lien qui la - contient, de façon à ce qu'elle possède l'extension - .shtml, condition nécessaire pour que les directives - SSI qu'elle contient soient traitées.

+ contient, de façon à ce qu'elle possède l'extension + .shtml, condition nécessaire pour que les directives + SSI qu'elle contient soient traitées.

-

Une autre méthode consiste à utiliser la directive XBitHack :

+

Une autre méthode consiste à utiliser la directive XBitHack :

XBitHack on

La directive XBitHack - indique à Apache qu'il doit rechercher des directivves SSI dans les - fichiers si leur bit d'exécution est positionné. Il n'est ainsi plus - nécessaire de changer le nom du fichier pour ajouter des directives - SSI à une page préexistante ; vous devez simplement attribuer les - droits d'exécution au fichier à l'aide de chmod.

+ indique à Apache qu'il doit rechercher des directivves SSI dans les + fichiers si leur bit d'exécution est positionné. Il n'est ainsi plus + nécessaire de changer le nom du fichier pour ajouter des directives + SSI à une page préexistante ; vous devez simplement attribuer les + droits d'exécution au fichier à l'aide de chmod.

chmod +x pagename.html

Un bref commentaire sur ce qu'il ne faut pas faire. Certaines - personnes peuvent vous conseiller de tout simplement indiquer à + personnes peuvent vous conseiller de tout simplement indiquer à Apache de rechercher des directives SSI dans tous les fichiers - .html, ce qui vous évite d'avoir à gérer les noms de + .html, ce qui vous évite d'avoir à gérer les noms de fichiers avec extension .shtml. Ils n'ont probablement pas entendu parler de la directive XBitHack. En effet, vous devez - garder à l'esprit qu'en faisant ceci, Apache va devoir rechercher - des directives SSI dans chaque fichier qu'il sert, même s'il n'en - contient aucune. Ce n'est donc pas une bonne idée car les - performances peuvent en être sensiblement affectées.

+ garder à l'esprit qu'en faisant ceci, Apache va devoir rechercher + des directives SSI dans chaque fichier qu'il sert, même s'il n'en + contient aucune. Ce n'est donc pas une bonne idée car les + performances peuvent en être sensiblement affectées.

-

Bien entendu, sous Windows, il n'y a pas de bit d'exécution à +

Bien entendu, sous Windows, il n'y a pas de bit d'exécution à positionner, ce qui limite un peu vos choix.

-

Dans sa configuration par défaut, Apache n'envoie pas la date de - dernière modification ou les en-têtes HTTP relatifs à la taille des - contenus dans les pages SSI, car ses valeurs sont difficiles à +

Dans sa configuration par défaut, Apache n'envoie pas la date de + dernière modification ou les en-têtes HTTP relatifs à la taille des + contenus dans les pages SSI, car ses valeurs sont difficiles à calculer pour les contenus dynamiques. Ceci peut induire une - impression de diminution des performances côté client, en empêchant - la mise en cache de votre document. Il existe deux méthodes pour - résoudre ce problème :

+ impression de diminution des performances côté client, en empêchant + la mise en cache de votre document. Il existe deux méthodes pour + résoudre ce problème :

  1. Utilisez la configuration XBitHack Full. Elle - indique à Apache de déterminer la date de dernière modification en - ne regardant que la date du fichier à l'origine de la requête, + indique à Apache de déterminer la date de dernière modification en + ne regardant que la date du fichier à l'origine de la requête, tout en ignorant la date de modification de tout fichier inclus.
  2. Utilisez les directives fournies par le module - mod_expires pour définir de manière explicite la - date d'expiration de vos fichiers, laissant par la-même - aux navigateurs et aux mandataires le soin de déterminer s'il est + mod_expires pour définir de manière explicite la + date d'expiration de vos fichiers, laissant par la-même + aux navigateurs et aux mandataires le soin de déterminer s'il est opportun ou non de les mettre en cache.
top
@@ -186,14 +186,14 @@ AddOutputFilter INCLUDES .shtml <!--#fonction attribut=valeur attribut=valeur ... -->

-

Le format d'une directive SSI étant similaire à celui d'un - commentaire HTML, si vous n'avez pas activé correctement SSI, le +

Le format d'une directive SSI étant similaire à celui d'un + commentaire HTML, si vous n'avez pas activé correctement SSI, le navigateur l'ignorera, mais elle sera encore visible dans le source - HTML. Si SSI est correctement configuré, la directive sera remplacée - par ses résultats.

+ HTML. Si SSI est correctement configuré, la directive sera remplacée + par ses résultats.

-

"fonction" peut prendre de nombreuses formes, et nous décrirons - plus précisément la plupart d'entre eux dans la prochaine version de +

"fonction" peut prendre de nombreuses formes, et nous décrirons + plus précisément la plupart d'entre eux dans la prochaine version de ce document. Pour le moment, voici quelques exemples de ce que vous pouvez faire avec SSI.

@@ -206,8 +206,8 @@ AddOutputFilter INCLUDES .shtml

La fonction echo permet d'afficher la valeur d'une variable. Il existe un grand nombre de variables standards, y compris l'ensemble des variables d'environnement disponibles pour - les programmes CGI. De plus, vous pouvez définir vos propres - variables à l'aide de la fonction set.

+ les programmes CGI. De plus, vous pouvez définir vos propres + variables à l'aide de la fonction set.

Si vous n'aimez pas le format sous lequel la date s'affiche, vous pouvez utiliser la fonction config avec un attribut @@ -222,18 +222,18 @@ AddOutputFilter INCLUDES .shtml

Date de modification du fichier

- Dernière modification du document <!--#flastmod file="index.html" --> + Dernière modification du document <!--#flastmod file="index.html" -->

-

Le format peut là aussi être modifié à l'aide de l'attribut +

Le format peut là aussi être modifié à l'aide de l'attribut timefmt.

-

Inclusion des résultats d'un programme CGI

+

Inclusion des résultats d'un programme CGI

C'est le cas le plus courant d'utilisation des SSI - afficher les - résultats d'un programme CGI, comme l'universellement adoré - "compteur d'accès".

+ résultats d'un programme CGI, comme l'universellement adoré + "compteur d'accès".

<!--#include virtual="/cgi-bin/counter.pl" --> @@ -245,66 +245,66 @@ AddOutputFilter INCLUDES .shtml

Exemples additionnels

-

Vous trouverez dans ce qui suit quelques exemples spécifiques de +

Vous trouverez dans ce qui suit quelques exemples spécifiques de ce que vous pouvez faire de vos documents HTML avec SSI.

-

Quand ce document a-t-il été modifié ?

+

Quand ce document a-t-il été modifié ?

-

Nous avons mentionné plus haut que vous pouviez utiliser SSI pour - informer l'utilisateur de la date de dernière modification du - document. Cependant, la méthode pour y parvenir n'a pas été vraiment - abordée. Placé dans votre document HTML, le code suivant va insérer - un repère de temps dans votre page. Bien entendu, SSI devra avoir - été correctement activé, comme décrit plus haut.

+

Nous avons mentionné plus haut que vous pouviez utiliser SSI pour + informer l'utilisateur de la date de dernière modification du + document. Cependant, la méthode pour y parvenir n'a pas été vraiment + abordée. Placé dans votre document HTML, le code suivant va insérer + un repère de temps dans votre page. Bien entendu, SSI devra avoir + été correctement activé, comme décrit plus haut.

<!--#config timefmt="%A %B %d, %Y" -->
- Dernière modification du fichier <!--#flastmod file="ssi.shtml" --> + Dernière modification du fichier <!--#flastmod file="ssi.shtml" -->

Bien entendu, vous devez remplacer ssi.shtml par le - nom du fichier auquel vous faites référence. Ceci ne conviendra pas - si vous recherchez un morceau de code générique que vous pourrez - insérer dans tout fichier ; dans ce cas, il est préférable + nom du fichier auquel vous faites référence. Ceci ne conviendra pas + si vous recherchez un morceau de code générique que vous pourrez + insérer dans tout fichier ; dans ce cas, il est préférable d'utiliser la variable LAST_MODIFIED :

<!--#config timefmt="%D" -->
This file last modified <!--#echo var="LAST_MODIFIED" -->

-

Pour plus de détails sur le format timefmt, tapez - strftime dans votre moteur de recherche préferé. La +

Pour plus de détails sur le format timefmt, tapez + strftime dans votre moteur de recherche préferé. La syntaxe est identique.

Inclusion d'un pied de page standard

-

Si le site que vous gérez comporte plus que quelques pages, vous +

Si le site que vous gérez comporte plus que quelques pages, vous allez vite vous apercevoir qu'effectuer des modifications sur toutes - ces pages peut devenir très contraignant, en particulier si vous - voulez qu'elles conservent un aspect homogène.

+ ces pages peut devenir très contraignant, en particulier si vous + voulez qu'elles conservent un aspect homogène.

-

Inclure un fichier pour un en-tête et/ou un pied de page peut - simplifier cette corvée de mises à jour. Il vous suffit de +

Inclure un fichier pour un en-tête et/ou un pied de page peut + simplifier cette corvée de mises à jour. Il vous suffit de confectionner un fichier de pied de page, et de l'inclure dans - chaque page à l'aide de l'élément SSI include. Pour - définir le fichier à inclure, la fonction include peut + chaque page à l'aide de l'élément SSI include. Pour + définir le fichier à inclure, la fonction include peut utiliser soit l'attribut file, soit l'attribut virtual. L'attribut file est un chemin de - fichier relatif au répertoire courant. C'est à dire qu'il - ne peut ni avoir pour valeur un chemin absolu (commençant par /), ni + fichier relatif au répertoire courant. C'est à dire qu'il + ne peut ni avoir pour valeur un chemin absolu (commençant par /), ni comporter "../" dans son chemin. L'attribut virtual est - probablement plus commode, et peut spécifier une URL relative au + probablement plus commode, et peut spécifier une URL relative au document servi. Elle peut commencer par un /, mais le fichier inclus - et le fichier servi doivent résider sur le même serveur.

+ et le fichier servi doivent résider sur le même serveur.

<!--#include virtual="/footer.html" -->

Je combinerai souvent ces deux derniers points, en ajoutant une directive LAST_MODIFIED dans un fichier de pied de page - destiné à être inclus. Le fichier inclus peut contenir des - directives SSI, et les inclusions peuvent être imbriquées - à + destiné à être inclus. Le fichier inclus peut contenir des + directives SSI, et les inclusions peuvent être imbriquées - à savoir, le fichier inclus peut inclure un autre fichier, etc...

@@ -313,10 +313,10 @@ AddOutputFilter INCLUDES .shtml

Que puis-je configurer d'autre ?

-

En plus du format de date, vous pouvez utiliser l'élément +

En plus du format de date, vous pouvez utiliser l'élément config pour configurer deux autres choses.

-

En général, lorsque quelque chose se passe mal avec votre +

En général, lorsque quelque chose se passe mal avec votre directive SSI, vous recevez le message :

[an error occurred while processing this directive] @@ -330,25 +330,25 @@ AddOutputFilter INCLUDES .shtml

Il est cependant probable que les utilisateurs finaux ne voient - jamais ce message, car vous aurez résolu tous les problèmes issus de + jamais ce message, car vous aurez résolu tous les problèmes issus de vos directives SSI avant que votre site ne soit mis en production. (N'est-ce pas ?)

Vous pouvez aussi modifier le format sous lequel les tailles de - fichiers sont affichées à l'aide de l'attribut sizefmt. - Vous pouvez spécifier bytes pour un affichage en + fichiers sont affichées à l'aide de l'attribut sizefmt. + Vous pouvez spécifier bytes pour un affichage en octets, ou abbrev pour un affichage plus concis en Ko ou Mo, selon le cas.

top
-

Exécution de commandes

+

Exécution de commandes

Voici autre chose que vous pouvez faire avec la fonction - exec. Vous pouvez vraiment faire exécuter une commande - par SSI en utilisant le shell (/bin/sh, pour être plus - précis - ou le shell DOS, si vous êtes sous Win32). Par exemple, ce - qui suit vous permet d'afficher le contenu d'un répertoire.

+ exec. Vous pouvez vraiment faire exécuter une commande + par SSI en utilisant le shell (/bin/sh, pour être plus + précis - ou le shell DOS, si vous êtes sous Win32). Par exemple, ce + qui suit vous permet d'afficher le contenu d'un répertoire.

<pre>
<!--#exec cmd="ls" -->
@@ -362,61 +362,61 @@ AddOutputFilter INCLUDES .shtml </pre>

-

Vous noterez probablement l'étrange formatage provoqué par cette +

Vous noterez probablement l'étrange formatage provoqué par cette directive sous Windows, car la sortie de dir contient - la chaîne de caractères "<dir>", ce qui trompe le + la chaîne de caractères "<dir>", ce qui trompe le navigateur.

-

Notez que cette fonctionnalité est très dangereuse, car elle va - permettre d'exécuter tout code associé à l'élément - exec. Si vous êtes dans la situation où les - utilisateurs peuvent éditer le contenu de vos pages web, dans le cas - d'un "livre d'or" par exemple, assurez-vous de désactiver cette - fonctionnalité. Vous pouvez, tout en permettant les SSI, désactiver - la fonctionnalité exec à l'aide de l'argument +

Notez que cette fonctionnalité est très dangereuse, car elle va + permettre d'exécuter tout code associé à l'élément + exec. Si vous êtes dans la situation où les + utilisateurs peuvent éditer le contenu de vos pages web, dans le cas + d'un "livre d'or" par exemple, assurez-vous de désactiver cette + fonctionnalité. Vous pouvez, tout en permettant les SSI, désactiver + la fonctionnalité exec à l'aide de l'argument IncludesNOEXEC de la directive Options.

top
-

Techniques SSI avancées

+

Techniques SSI avancées

Outre l'affichage de contenu, les SSI d'Apache vous permettent de - définir des variables, et de les utiliser dans des comparaisons et + définir des variables, et de les utiliser dans des comparaisons et des conditions.

-

Définition de variables

+

Définition de variables

-

Avec l'élément set, vous pouvez définir des - variables pour un usage ultérieur. Comme nous en aurons besoin plus - loin, nous allons en parler tout de suite. La syntaxe se présente +

Avec l'élément set, vous pouvez définir des + variables pour un usage ultérieur. Comme nous en aurons besoin plus + loin, nous allons en parler tout de suite. La syntaxe se présente comme suit :

<!--#set var="name" value="Rich" -->

-

Pour affecter une valeur à vos variables, en plus de la - définition littérale de l'exemple ci-dessus, vous pouvez utiliser +

Pour affecter une valeur à vos variables, en plus de la + définition littérale de l'exemple ci-dessus, vous pouvez utiliser une autre variable, y compris les variables d'environnement, ou les variables - décrites plus haut (comme LAST_MODIFIED par exemple). - Pour indiquer qu'il s'agit d'une variable et non d'une chaîne, vous + décrites plus haut (comme LAST_MODIFIED par exemple). + Pour indiquer qu'il s'agit d'une variable et non d'une chaîne, vous devez utiliser le symbole dollar ($) devant le nom de la variable.

<!--#set var="modified" value="$LAST_MODIFIED" -->

-

Pour insérer un caractère $ dans la valeur de votre variable, - vous devez l'échapper à l'aide d'un backslash.

+

Pour insérer un caractère $ dans la valeur de votre variable, + vous devez l'échapper à l'aide d'un backslash.

<!--#set var="cost" value="\$100" -->

-

Enfin, si vous voulez insérer une variable dans une chaîne, et +

Enfin, si vous voulez insérer une variable dans une chaîne, et s'il y a une chance pour que le nom de la variable se confonde avec - le reste de la chaîne, vous pouvez l'entourer d'accolades pour + le reste de la chaîne, vous pouvez l'entourer d'accolades pour eviter toute confusion (Il est difficile de trouver un bon exemple - pour illustrer ceci, mais j'espère que vous comprendrez).

+ pour illustrer ceci, mais j'espère que vous comprendrez).

<!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->

@@ -426,13 +426,13 @@ AddOutputFilter INCLUDES .shtml

Maintenent que nous avons des variables, et que nous pouvons - définir et comparer leurs valeurs, nous sommes à même de les - utiliser dans des expressions conditionnelles. Ceci confère à SSI le + définir et comparer leurs valeurs, nous sommes à même de les + utiliser dans des expressions conditionnelles. Ceci confère à SSI le statut de petit langage de programmation. mod_include fournit une structure if, elif, else, endif pour la construction d'expressions conditionnelles, ce qui vous permet de - générer plusieurs pages logiques à partir d'une seule vraie + générer plusieurs pages logiques à partir d'une seule vraie page.

La structure de l'expression conditionnelle est :

@@ -443,14 +443,14 @@ AddOutputFilter INCLUDES .shtml <!--#endif -->

-

Une condition peut revêtir la forme de toute comparaison +

Une condition peut revêtir la forme de toute comparaison logique - soit une comparaison de valeurs avec une autre, soit une - vérification de la "vérité" d'une valeur particulière (Une chaîne - donnée est vraie si elle n'est pas vide). Pour une liste exhaustive - des opérateurs de comparaison disponibles, voir la documentation du + vérification de la "vérité" d'une valeur particulière (Une chaîne + donnée est vraie si elle n'est pas vide). Pour une liste exhaustive + des opérateurs de comparaison disponibles, voir la documentation du module mod_include.

-

Par exemple, spour insérer l'heure du jour dans votre page web, +

Par exemple, spour insérer l'heure du jour dans votre page web, vous pouvez ajouter ces lignes dans la page HTML :

@@ -462,33 +462,33 @@ AddOutputFilter INCLUDES .shtml <!--#endif -->

-

Toute autre variable (que vous avez définie, ou une variable - d'environnement normale) peut être utilisée dans les expressions +

Toute autre variable (que vous avez définie, ou une variable + d'environnement normale) peut être utilisée dans les expressions conditionnelles. Voir le document Expressions - rationnelles dans le serveur HTTP Apache pour plus de détails à - propos du fonctionnement du moteur d'évaluation des expressions + rationnelles dans le serveur HTTP Apache pour plus de détails à + propos du fonctionnement du moteur d'évaluation des expressions rationnelles.

-

Associée à la possibilité avec Apache de définir - des variables d'environnement à l'aide de directives +

Associée à la possibilité avec Apache de définir + des variables d'environnement à l'aide de directives SetEnvIf, ainsi que d'autres directives en rapport, - cette fonctionnalité vous permet d'ajouter une grande variété - de contenus dynamiques côté serveur sans avoir à concevoir une - application web de A à Z.

+ cette fonctionnalité vous permet d'ajouter une grande variété + de contenus dynamiques côté serveur sans avoir à concevoir une + application web de A à Z.

top

Conclusion

SSI ne remplace certainement pas CGI, ou d'autres technologies - utilisées pour la génération de pages web dynamiques. Mais c'est une - bonne méthode pour ajouter des petits contenus dynamiques à vos - pages, sans devoir fournir un gros effort supplémentaire.

+ utilisées pour la génération de pages web dynamiques. Mais c'est une + bonne méthode pour ajouter des petits contenus dynamiques à vos + pages, sans devoir fournir un gros effort supplémentaire.

Langues Disponibles:  en  | - es  | - fr  | + es  | + fr  |  ja  |  ko 

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.
@@ -509,7 +509,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/ssi.html'; } })(window, document); //-->