]> granicus.if.org Git - apache/blob - docs/manual/custom-error.xml.es
Documentation rebuild
[apache] / docs / manual / custom-error.xml.es
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
4 <!-- English Revision: 1741842  -->
5 <!-- Spanish Translator: Luis Gil de Bernabé -->
6 <!-- Reviewed by: Sergio Ramos -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <manualpage metafile="custom-error.xml.meta">
26
27   <title>Respuestas de Error Personalizadas</title>
28
29   <summary>
30
31     <p>Aunque el Servidor Apache HTTP ofrece respuestas de error genéricos en
32     el caso de los códigos de estado 4xx o 5xx  HTTP, éstas respuestas son 
33     bastante austeras, no informativas, y puede ser intimidante para los 
34     usuarios del sitio. Si lo desea, para proporcionar respuestas de error 
35     personalizados que son o bien más amables, o en algún idioma que no sea 
36     Inglés, o tal vez que son de un estilo más acorde con su diseño del sitio.</p>
37
38     <p>Respuestas de error personalizadas se pueden definir para cualquier código HTTP
39     designado como condición de error - Esto es, cualquier estado 4xx ó 5xx.</p>
40
41     <p>Además, se proporcionan un conjunto de valores, de manera que el 
42       documento de error puede ser personalizado más adelante, basado en 
43       los valores de estas variables, usando <a href="howto/ssi.html">Inclusiones del 
44       Lado del Servidor (SSI)</a>. O bien, puede tener condiciones de error que maneje 
45       un cgi, u otro controlador dinámico (PHP, mod_perl, etc), que
46      hace uso de estas variables.</p>
47
48   </summary>
49
50   <section id="configuration"><title>Configuración</title>
51
52     <p>Los documentos de error personalizados se configuran
53     mediante la directiva <directive module="core">ErrorDocument</directive>,
54     que puede ser usado en el conjunto general, de los hosts virtuales o en directorios.
55     También pueden ser usados en los ficheros .htaccess si
56     <directive module="core">AllowOverride</directive>esta configurado a 
57     FileInfo.</p>
58
59     <highlight language="config">
60 ErrorDocument 500 "Perdón, Nuestro escript ha fallado. ¡Ay Madre!"<br />
61 ErrorDocument 500 /cgi-bin/crash-recover<br />
62 ErrorDocument 500 http://error.example.com/server_error.html<br />
63 ErrorDocument 404 /errors/not_found.html <br />
64 ErrorDocument 401 /subscription/como_suscribirse.html
65     </highlight>
66
67     <p>La sintaxis de la directiva de <code>ErrorDocument</code> es:</p>
68
69     <highlight language="config">
70       ErrorDocument &lt;código-de-3-dígitos&gt; &lt;acción&gt;
71     </highlight>
72
73     <p>Donde la acción será tratada como:</p>
74
75     <ol>
76       <li>Una URL local a la que redireccionar (si la acción empieza con "/").</li>
77       <li>Una URL externa a la que redireccionar (si la acción es una URL válida).</li>
78       <li>Texto para mostrar (si ninguna de las anteriores). El texto tiene que estar 
79         entrecomillado ("ERROR") si  consiste de mas de una palabra.</li>
80     </ol>
81
82     <p>Cuando se redirija a una URL local, se establecen variables de 
83       entorno adicionales de manera que la respuesta puede ser personalizada. 
84       Éstas variables no se envían a URLs externas</p>
85
86   </section>
87
88   <section id="variables"><title>Variables Disponibles</title>
89
90       <p>Redireccionando a otra URL puede ser útil, pero sólo si algo de información
91        puede ser pasado como parámetro, lo cuál puede ser usado para explicar de 
92        forma más clara el error o crear un log del mismo.</p>
93
94       <p>Para conseguir esto, cuando se envía el redireccionamiento de error, 
95         se establecerán variables de entorno adicionales, que será generado a 
96         partir de las cabeceras prestadas a la solicitud original, anteponiendo 'REDIRECT_' 
97         en el nombre de la cabecera original. Esto proporciona el 
98         documento de error en el ámbito de la petición original</p>
99
100       <p>Por ejemplo, es posible que se reciba, además de las variables de 
101         entorno más habituales, lo siguiente:</p>
102
103       <example>
104         REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br />
105         REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br />
106         REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br />
107         REDIRECT_QUERY_STRING=<br />
108         REDIRECT_REMOTE_ADDR=121.345.78.123<br />
109         REDIRECT_REMOTE_HOST=client.example.com<br />
110         REDIRECT_SERVER_NAME=www.example.edu<br />
111         REDIRECT_SERVER_PORT=80<br />
112         REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br />
113         REDIRECT_URL=/cgi-bin/buggy.pl
114       </example>
115
116       <p> Las variables de entorno de tipo <code>REDIRECT_</code> se crean a partir
117       de las variables de entorno que existían antes de la redirección. Se renombran 
118       con prefijo <code>REDIRECT_</code>, <em>por ejemplo:</em>,
119       <code>HTTP_USER_AGENT</code> se convierte en
120       <code>REDIRECT_HTTP_USER_AGENT</code>.</p>
121
122       <p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, y
123       <code>REDIRECT_QUERY_STRING</code> están garantizados para ser fijado, y
124       se establecerán las otras cabeceras solo si existían antes de 
125       la condición de error.</p>
126
127       <p><strong>Ninguna</strong> de estas condiciones se establecerá 
128       si elobjetivo de <directive module="core">ErrorDocument</directive> es una 
129       redirección <em>external</em> (nada a partir de un nombre de esquema 
130       como <code>http:</code>, incluso si se refiere a la misma máquina que el servidor.</p>
131   </section>
132
133   <section id="custom"><title>Personalizando Respuestas de Errores</title>
134
135       <p>Si apunta su <code> ErrorDocument</code> a alguna variedad de controlador
136        dinámico como un documento que se incluye en el lado del servidor como CGI, 
137        script u otro tipo de manejador, es posible que desee utilizar las variables 
138        de entorno disponibles para personalizar esta respuesta.</p>
139
140       <p>Si el ErrorDocument especifica una redirección local a un script CGI, el 
141         script debe incluir un campo de cabecera de tipo "<code>Status:</code>" en 
142         su salida con el fin de asegurar la propagación de
143       todo el camino de vuelta al cliente de la condición de error que se generó.
144       Por ejemplo, un script de Perl ErrorDocument podría incluir lo siguiente:</p>
145
146        <highlight language="perl">
147 ...
148 print  "Content-type: text/html\n"; <br />
149 printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
150 ...
151       </highlight>
152
153       <p> Si el script está dedicado al manejo de una condición de error en particular,
154        como por ejemplo <code>404&nbsp;Not&nbsp;Found</code>, puede usar el propio
155         código y el error de texto en su lugar.</p>
156
157       <p>Tenga en cuenta que si la respuesta contiene <code>Location:</code>
158       header (con el fin de emitir una redirección del lado del cliente), el 
159       script <em>deberá</em>emitir una cabecera apropiada con el <code>Status:</code> 
160       (como <code>302&nbsp;Found</code>). De lo contrario la cabecera 
161       <code>Location:</code> no tendrá ningún efecto.</p>
162
163   </section>
164
165   <section id="multi-lang"><title>Documentos de error  personalizados 
166     Multilengua</title>
167
168     <p>Con la instalación de Apache HTTP Server se proporciona un directorio 
169       personal con diferentes mensajes de errores traducidos a 16 idiomas 
170       diferentes. También hay un archivo de configuración el el directorio 
171     <code>conf/extra</code> que puede ser incluido para añadir esta funcionalidad.</p>
172
173     <p>En el archivo de configuración del servidor, verá una línea como:</p>
174
175     <highlight language="config">
176     # Multi-language error messages<br />
177     #Include conf/extra/httpd-multilang-errordoc.conf
178     </highlight>
179
180     <p>Descomentando éste <code>Include</code> habilitará esta característica,
181     y proporcionar mensajes de error de idioma-negociado,
182     basado en el idioma de preferencia establecido en el navegador del cliente.</p>
183
184     <p>Además, estos documentos contienen varias variables del tipo 
185     <code>REDIRECT_</code>, con lo que se le puede añadir información adicional 
186     de lo que ha ocurrido al usuario final, y que pueden hacer ahora.</p>
187
188     <p>Estos documentos pueden ser personalizados de cualquier forma que desee 
189       mostrar más información al usuario a cerca del su sitio web, y que podrán encontrar en él.</p>
190
191     <p><module>mod_include</module> y <module>mod_negotiation</module>
192     Tienen que estar habilitados para usar estas características.</p>
193
194  </section>
195
196 </manualpage>