1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Variables de entorno de Apache - Servidor HTTP Apache</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p>
15 <p class="apache">Versión 2.0 del Servidor HTTP Apache</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="./">Versión 2.0</a></div><div id="page-content"><div id="preamble"><h1>Variables de entorno de Apache</h1>
21 <p><span>Idiomas disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="./es/env.html" title="Español"> es </a> |
23 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
24 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
25 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
26 <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <div class="outofdate">Esta traducción podría estar
29 obsoleta. Consulte la versión en inglés de la
30 documentación para comprobar si se han producido cambios
33 <p>El servidor HTTP Apache HTTP ofrece un mecanismo para almacenar
34 información en variables especiales que se llaman
35 <em>variables de entorno</em>. Esta información puede ser
36 usada para controlar diversas operaciones como por ejemplo,
37 almacenar datos en ficheros de registro (log files) o controlar el
38 acceso al servidor. Las variables de entorno se usan también
39 como un mecanismo de comunicación con programas externos como
40 por ejemplo, scripts CGI. Este documento explica las diferentes
41 maneras de usar y manipular esas variables.</p>
43 <p>Aunque estas variables se llaman <em>variables de entorno</em>,
44 no son iguales que las variables de entorno que controla el
45 sistema operativo de la máquina en que se está
46 ejecutando Apache. Las variables de entorno de Apache se almacenan
47 y manipulan la en estructura interna de Apache. Solamente se
48 convierten en auténticas variables de entorno del sistema
49 operativo cuando se pasan a scripts CGI o a scripts Server Side
50 Include. Si quiere manipular el entorno del sistema operativo
51 sobre el que Apache se está ejecutando, debe usar los
52 mecanismos estándar de manipulación que tenga su sistema
55 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Especificación de variables de entorno</a></li>
56 <li><img alt="" src="./images/down.gif" /> <a href="#using">Cómo usar las variables de entorno</a></li>
57 <li><img alt="" src="./images/down.gif" /> <a href="#special">Variables de entorno con funciones especiales</a></li>
58 <li><img alt="" src="./images/down.gif" /> <a href="#examples">Ejemplos</a></li>
60 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
62 <h2><a name="setting" id="setting">Especificación de variables de entorno</a></h2>
64 <table class="related"><tr><th>Módulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
66 <h3><a name="basic-manipulation" id="basic-manipulation">Manipulación básica del entorno</a></h3>
69 <p>El modo más básico de especificar el valor de una
70 variable de entorno en Apache es usando la directiva
71 incondicional <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Las variables pueden
72 también pasarse desde el shell en el que se inicio Apache
73 usando la directiva <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code>.</p>
76 <h3><a name="conditional" id="conditional">Especificación condicional por petición</a></h3>
79 <p>Si necesita más flexibilidad, las directivas incluidas
80 con mod_setenvif permiten especificar valores para las
81 variables de entorno de manera condicional en función de
82 las caracteristicas particulares de la petición que se
83 esté procesando. Por ejemplo, se puede especificar un
84 valor para una variable solamente cuando la petición se
85 haga con un navegador específico, o solamente cuando la
86 petición contenga una determinada información en su
87 cabecera. Si necesita aún más flexibilidad, puede
88 conseguirla con la directiva <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> del módulo
89 mod_rewrite que tiene la opción <code>[E=...]</code> para
90 especificar valores en las variables de entorno.</p>
93 <h3><a name="unique-identifiers" id="unique-identifiers">Identificadores únicos</a></h3>
96 <p>Finalmente, mod_unique_id determina el valor de la variable
97 de entorno <code>UNIQUE_ID</code> para cada
98 petición. Este valor está garantizado que sea
99 único entre todas las peticiones bajo condiciones muy
103 <h3><a name="standard-cgi" id="standard-cgi">Variables CGI estándar</a></h3>
106 <p>Además de todas las variables de entorno especificadas
107 en la configuración de Apache y las que se pasan desde el
108 shell, los scripts CGI y las páginas SSI tienen un
109 conjunto de variables de entorno que contienen
110 meta-información sobre la petición tal y como
111 establece la <a href="http://cgi-spec.golux.com/">especificación
115 <h3><a name="caveats" id="caveats">Algunas limitaciones</a></h3>
119 <li>No es posible reeemplazar los valores o cambiar las
120 variables estándar CGI usando las directivas de
121 manipulación del entorno.</li>
123 <li>Cuando se usa <code class="program"><a href="./programs/suexec.html">suexec</a></code> para
124 lanzar scripts CGI, el entorno se limpia y se queda reducido
125 a un conjunto de variables <em>seguras</em> antes de que se
126 lancen los scripts. La lista de variables <em>seguras</em>
127 se define en el momento de compilar en
128 <code>suexec.c</code>.</li>
130 <li>Por razones de portabilidad, los nombres de las
131 variables de entorno solo pueden contener letras,
132 números y guiones bajos. Además, el primer
133 caracter no puede ser un número. Los caracteres que no
134 cumplan con esta restricción, se reemplazan
135 automáticamente por un guión bajo cuando se pasan
136 a scripts CGI y a páginas SSI.</li>
139 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
140 <div class="section">
141 <h2><a name="using" id="using">Cómo usar las variables de entorno</a></h2>
144 <table class="related"><tr><th>Módulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_access.html">mod_access</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_access.html#allow">Allow</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_access.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
146 <h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3>
149 <p>Uno de los principales usos de las variables de entorno es
150 pasar información a scripts CGI. Tal y como se explicaba
151 más arriba, el entorno que se pasa a los scripts CGI
152 incluye meta-información estándar acerca de la
153 petición además de cualquier variable especificada
154 en la configuración de Apache. Para obtener más
155 información sobre este tema consulte el <a href="howto/cgi.html">tutorial sobre CGIs</a>.</p>
158 <h3><a name="ssi-pages" id="ssi-pages">Páginas SSI</a></h3>
161 <p>Los documentos procesados por el servidor con el filtro
162 <code>INCLUDES</code> perteneciente a mod_include pueden
163 imprimir las variables de entorno usando el elemento
164 <code>echo</code>, y pueden usar las variables de entorno en
165 elementos de control de flujo para dividir en partes una
166 página condicional según las características de
167 la petición. Apache también sirve páginas SSI
168 con las variables CGI estándar tal y como se explica
169 más arriba en este documento. Para obetener más
170 información, consulte el <a href="howto/ssi.html">tutorial sobre SSI</a>.</p>
173 <h3><a name="access-control" id="access-control">Control de acceso</a></h3>
176 <p>El acceso al servidor puede ser controlado en función
177 del valor de las variables de entorno usando las directivas
178 <code>allow from env=</code> y <code>deny from env=</code>. En
179 combinación con la directiva <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, se puede tener un
180 control más flexible del acceso al servidor en
181 función de las características del cliente. Por
182 ejemplo, puede usar estas directivas para denegar el acceso si
183 el cliente usa un determinado navegador.</p>
186 <h3><a name="logging" id="logging">Registro condicional</a></h3>
189 <p>Los valores de las variables de entorno pueden registrarse
190 en el log de acceso usando la directiva <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> con la
191 opción <code>%e</code>. Además, la decisión
192 sobre qué peticiones se registran puede ser tomada en
193 función del valor de las variables de entorno usando la
194 forma condicional de la directiva <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>. En
195 combinación con <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, esto permite controlar de forma
196 flexible de qué peticiones se guarda registro. Por
197 ejemplo, puede elegir no registrar las peticiones que se hagan
198 a ficheros cuyo nombre termine en <code>gif</code>, o puede
199 elegir registrar únicamente las peticiones que provengan
200 de clientes que estén fuera de su propia red.</p>
203 <h3><a name="response-headers" id="response-headers">Cabeceras de respuesta condicionales</a></h3>
206 <p>La directiva <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> puede utilizar la
207 presencia o ausencia de una variable de entorno para
208 determinar si una determinada cabecera HTTP se incluye en la
209 respuesta al cliente. Esto permite, por ejemplo, que una
210 determinada cabecera de respuesta sea enviada únicamente
211 si también estaba presente en la petición del
216 <h3><a name="external-filter" id="external-filter">Activación de filtros externos</a></h3>
219 <p>External filters configured by <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>
220 using the <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> directive can
221 by activated conditional on an environment variable using the
222 <code>disableenv=</code> and <code>enableenv=</code> options.</p>
225 <h3><a name="url-rewriting" id="url-rewriting">Reescritura de URLs</a></h3>
228 <p>La expresion <code>%{ENV:...}</code> de <em>TestString</em>
229 en una directiva <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> permite que el
230 motor de reescritura de mod_rewrite pueda tomar decisiones en
231 función del valor de variables de entorno. Tenga en
232 cuenta que las variables accesibles en mod_rewrite sin el
233 prefijo <code>ENV:</code> no son realmente variables de
234 entorno. En realidad, son variables especiales de mod_rewrite
235 que no pueden ser accedidas desde otros módulos.</p>
237 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
238 <div class="section">
239 <h2><a name="special" id="special">Variables de entorno con funciones especiales</a></h2>
242 <p>Los problemas de interoperatividad han conducido a la
243 introducción de mecanismos para modificar el
244 comportamiento de Apache cuando se comunica con determinados
245 clientes. Para hacer que esos mecanismos sean tan flexibles
246 como sea posible, se invocan definiendo variables de entorno,
247 normalmente con la directiva <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, aunque
248 también se puede usar por ejemplo con las directivas
249 <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> y <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code>.</p>
251 <h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
254 <p>Fuerza que la petición sea tratada como una petición
255 HTTP/1.0 incluso si viene en una especificación posterior.</p>
258 <h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
261 <p>Hace que cualquier campo <code>Vary</code> se elimine de la
262 cabecera de la respuesta antes de ser enviada al
263 cliente. Algunos clientes no interpretan este campo
264 correctamente (consulte la sección sobre <a href="misc/known_client_problems.html">problemas conocidos con
265 clientes</a>); usar esta variable puede evitar esos
266 problemas. Usar esta variable implica también el uso de
267 <strong>force-response-1.0</strong>.</p>
270 <h3><a name="force-response" id="force-response">force-response-1.0</a></h3>
273 <p>Fuerza que la respuesta a una petición HTTP/1.0 se haga
274 también según la especificación HTTP/1.0. Esto se
275 implementó originalmente como resultado de un problema con
276 los proxies de AOL. Algunos clientes HTTP/1.0 no se comportan
277 correctamente cuando se les envía una respuesta HTTP/1.1, y
278 este mecanismo hace que se pueda interactuar con ellos.</p>
282 <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
285 <p>Cuando tiene valor "1", esta variable desactiva el filtro
286 de salida DEFLATE de <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> para
287 contenidos de tipo diferentes de <code>text/html</code>.</p>
290 <h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
292 <p>Cuando se especifica, se desactiva el filtro
293 <code>DEFLATE</code> de <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>.</p>
297 <h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3>
300 <p>Desactiva <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code>.</p>
304 <h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3>
306 <p>Influye en el comportamiento de
307 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>. Si contiene una etiqueta de
308 idioma (del tipo <code>en</code>, <code>ja</code> o
309 <code>x-klingon</code>), <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>
310 intenta que se use ese mismo idioma en la respuesta. Si no
311 está disponible ese idioma, se aplica el proceso de <a href="content-negotiation.html">negociación</a>
316 <h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3>
319 <p>Fuerza que el servidor sea especialmente cuidadoso al
320 enviar una redirección al cliente. Se usa normalmente
321 cuando un cliente tiene un problema conocido tratando las
322 redirecciones. Fue implementado originalmente por el problema
323 que presentaba el software de WebFolders de Microsoft, que
324 tenía problemas interpretando redirecciones originadas
325 cuando se accedía a recursos servidos usando DAV.</p>
329 <h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3>
332 <p><em>Disponible en las versiones de Apache 2.0.40 y posteriores</em></p>
334 <p>Cuando Apache efectúa una redirección en respuesta a la
335 petición de un cliente, la respuesta incluye algún texto para que
336 se muestre en caso de que el cliente no pueda seguir (o no siga)
337 automáticamente la redirección. Apache normalmente etiqueta este
338 texto siguiendo la codificación ISO-8859-1.</p>
340 <p>Sin embargo, si la redirección es a una página que
341 usa una codificación diferente, algunas versiones de
342 navegadores que no funcionan correctamente intentarán usar la
343 codificación del texto de redirección en lugar de la de
344 pagina a la que ha sido redireccionado. La consecuencia de esto
345 puede ser, por ejemplo, que una página en griego no se
346 muestre correctamente.</p>
348 <p>Especificar un valor en esta variable de entorno hace que
349 Apache omita la codificación en el texto que incluye con las
350 redirecciones, y que esos navegadores que no funcionan
351 correctamente muestren correctamente la página de destino.</p>
355 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
356 <div class="section">
357 <h2><a name="examples" id="examples">Ejemplos</a></h2>
360 <h3><a name="misbehaving" id="misbehaving">Cómo cambiar el comportamiento de clientes que se
361 comportan de manera inapropiada</a></h3>
364 <p>Recomendamos que incluya las siguentes líneas en el
365 fichero httpd.conf para evitar problemas conocidos</p>
366 <div class="example"><pre>
369 # Las siguientes directivas modifican el comportamiento normal de las respuestas HTTP.
370 # La primera directiva desactiva keepalive para Netscape 2.x y para navegadores
371 # que la simulan. Hay problemas conocidos con esos navegadores.
372 # La segunda directiva es para Microsoft Internet Explorer 4.0b2
373 # que tiene un fallo en la implemantación de HTTP/1.1 y no soporta
374 # keepalive adecuadamente cuando se usan respuestas 301 ó 302 (redirecciones).
376 BrowserMatch "Mozilla/2" nokeepalive
377 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
380 # La siguiente directiva desactiva las respuestas HTTP/1.1 para navegadores que
381 # violan la especificación HTTP/1.0 @@@ by not being able to grok a
382 # basic 1.1 response @@@.
384 BrowserMatch "RealPlayer 4\.0" force-response-1.0
385 BrowserMatch "Java/1\.0" force-response-1.0
386 BrowserMatch "JDK/1\.0" force-response-1.0</pre></div>
389 <h3><a name="no-img-log" id="no-img-log">No almacenar entradas en registro de acceso para las
393 <p>Este ejemplo evita que las peticiones de imágenes
394 aparezcan en el registro de acceso. Puede ser modificada
395 fácilmente para evitar que se registren entradas de
396 peticiones de directorios, o provenientes de determinados
399 <div class="example"><pre>
400 SetEnvIf Request_URI \.gif image-request
401 SetEnvIf Request_URI \.jpg image-request
402 SetEnvIf Request_URI \.png image-request
403 CustomLog logs/access_log common env=!image-request</pre></div>
406 <h3><a name="image-theft" id="image-theft">Evitar el "robo de imagenes"</a></h3>
409 <p>Este ejemplo muestra como evitar que otras webs usen las
410 imágenes de su servidor para sus páginas. Esta
411 configuración no se recomienda, pero puede funcionar en
412 determinadas circunstancias. Asumimos que que todas sus
413 imágenes están en un directorio llamado
416 <div class="example"><pre>
417 SetEnvIf Referer "^http://www.example.com/" local_referal
418 # Allow browsers that do not send Referer info
419 SetEnvIf Referer "^$" local_referal
420 <Directory /web/images>
423 Allow from env=local_referal
424 </Directory></pre></div>
426 <p>Para obtener más información sobre esta
427 técnica, consulte el tutorial de ApacheToday " <a href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
428 Keeping Your Images from Adorning Other Sites</a>".</p>
430 <div class="bottomlang">
431 <p><span>Idiomas disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
432 <a href="./es/env.html" title="Español"> es </a> |
433 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
434 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
435 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
436 <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
437 </div><div id="footer">
438 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
439 <p class="menu"><a href="./mod/">Módulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>