You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2018/09/12 13:01:00 UTC
svn commit: r1840675 [3/45] - in
/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual: ./ developer/ faq/
howto/ misc/ mod/ platform/ programs/ rewrite/ ssl/ style/ style/lang/
style/xsl/util/ vhosts/
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.es
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.es?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.es [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.es [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
-<!-- English Revision: 1741841 -->
+<!-- English Revision: 1741842 -->
+<!-- Spanish Translator: Luis Gil de Bernabé -->
+<!-- Reviewed by: Sergio Ramos -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@@ -15,195 +17,180 @@
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied. See the License for the specific language governing
- permissions and limitations under the License. -->
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
<manualpage metafile="custom-error.xml.meta">
- <title>Respuestas de error personalizadas</title>
+ <title>Respuestas de Error Personalizadas</title>
<summary>
- <p>Apache ofrece la posibilidad de que los webmasters puedan
- configurar las respuestas que muestra el servidor Apache cuando se
- producen algunos errores o problemas.</p>
-
- <p>Las respuestas personalizadas pueden definirse para activarse
- en caso de que el servidor detecte un error o problema.</p>
-
- <p>Si un script termina de forma anormal y se produce una respuesta
- "500 Server Error", esta respuesta puede ser sustituida por otro
- texto de su elección o por una redirección a otra URL
- (local o externa).</p>
- </summary>
- <section id="behavior">
- <title>Comportamiento</title>
+ <p>Aunque el Servidor Apache HTTP ofrece respuestas de error genéricos en
+ el caso de los códigos de estado 4xx o 5xx HTTP, éstas respuestas son
+ bastante austeras, no informativas, y puede ser intimidante para los
+ usuarios del sitio. Si lo desea, para proporcionar respuestas de error
+ personalizados que son o bien más amables, o en algún idioma que no sea
+ Inglés, o tal vez que son de un estilo más acorde con su diseño del sitio.</p>
+
+ <p>Respuestas de error personalizadas se pueden definir para cualquier código HTTP
+ designado como condición de error - Esto es, cualquier estado 4xx ó 5xx.</p>
+
+ <p>Además, se proporcionan un conjunto de valores, de manera que el
+ documento de error puede ser personalizado más adelante, basado en
+ los valores de estas variables, usando <a href="howto/ssi.html">Inclusiones del
+ Lado del Servidor (SSI)</a>. O bien, puede tener condiciones de error que maneje
+ un cgi, u otro controlador dinámico (PHP, mod_perl, etc), que
+ hace uso de estas variables.</p>
- <section>
- <title>Comportamiento anterior</title>
+ </summary>
- <p>NCSA httpd 1.3 devolvía mensajes antiguos del error o
- problema encontrado que con frecuencia no tenían
- significado alguno para el usuario, y que no incluían en
- los logs información que diera pistas sobre las causas de
- lo sucedido.</p>
- </section>
+ <section id="configuration"><title>Configuración</title>
- <section>
- <title>Comportamiento actual</title>
+ <p>Los documentos de error personalizados se configuran
+ mediante la directiva <directive module="core">ErrorDocument</directive>,
+ que puede ser usado en el conjunto general, de los hosts virtuales o en directorios.
+ También pueden ser usados en los ficheros .htaccess si
+ <directive module="core">AllowOverride</directive>esta configurado a
+ FileInfo.</p>
+
+ <highlight language="config">
+ErrorDocument 500 "Perdón, Nuestro escript ha fallado. ¡Ay Madre!"<br />
+ErrorDocument 500 /cgi-bin/crash-recover<br />
+ErrorDocument 500 http://error.example.com/server_error.html<br />
+ErrorDocument 404 /errors/not_found.html <br />
+ErrorDocument 401 /subscription/como_suscribirse.html
+ </highlight>
+
+ <p>La sintaxis de la directiva de <code>ErrorDocument</code> es:</p>
+
+ <highlight language="config">
+ ErrorDocument <código-de-3-dígitos> <acción>
+ </highlight>
- <p>Se puede hacer que el servidor siga uno de los siguientes
- comportamientos:</p>
+ <p>Donde la acción será tratada como:</p>
<ol>
- <li>Desplegar un texto diferente, en lugar de los mensajes de
- la NCSA, o</li>
+ <li>Una URL local a la que redireccionar (si la acción empieza con "/").</li>
+ <li>Una URL externa a la que redireccionar (si la acción es una URL válida).</li>
+ <li>Texto para mostrar (si ninguna de las anteriores). El texto tiene que estar
+ entrecomillado ("ERROR") si consiste de mas de una palabra.</li>
+ </ol>
- <li>redireccionar la petición a una URL local, o</li>
+ <p>Cuando se redirija a una URL local, se establecen variables de
+ entorno adicionales de manera que la respuesta puede ser personalizada.
+ Éstas variables no se envían a URLs externas</p>
- <li>redireccionar la petición a una URL externa.</li>
- </ol>
+ </section>
- <p>Redireccionar a otra URL puede resultar de utilidad, pero
- solo si con ello se puede también pasar alguna
- información que pueda explicar el error o problema y/o
- registrarlo en el log correspondiente más claramente.</p>
+ <section id="variables"><title>Variables Disponibles</title>
- <p>Para conseguir esto, Apache define ahora variables de entorno
- similares a las de los CGI:</p>
+ <p>Redireccionando a otra URL puede ser útil, pero sólo si algo de información
+ puede ser pasado como parámetro, lo cuál puede ser usado para explicar de
+ forma más clara el error o crear un log del mismo.</p>
+
+ <p>Para conseguir esto, cuando se envía el redireccionamiento de error,
+ se establecerán variables de entorno adicionales, que será generado a
+ partir de las cabeceras prestadas a la solicitud original, anteponiendo 'REDIRECT_'
+ en el nombre de la cabecera original. Esto proporciona el
+ documento de error en el ámbito de la petición original</p>
+
+ <p>Por ejemplo, es posible que se reciba, además de las variables de
+ entorno más habituales, lo siguiente:</p>
<example>
- REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
- image/jpeg<br />
- REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
- 9000/712)<br />
- REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br />
+ REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br />
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br />
REDIRECT_QUERY_STRING=<br />
REDIRECT_REMOTE_ADDR=121.345.78.123<br />
- REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
- REDIRECT_SERVER_NAME=crash.bang.edu<br />
+ REDIRECT_REMOTE_HOST=client.example.com<br />
+ REDIRECT_SERVER_NAME=www.example.edu<br />
REDIRECT_SERVER_PORT=80<br />
- REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+ REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br />
REDIRECT_URL=/cgi-bin/buggy.pl
</example>
- <p>Tenga en cuenta el prefijo <code>REDIRECT_</code>.</p>
-
- <p>Al menos <code>REDIRECT_URL</code> y
- <code>REDIRECT_QUERY_STRING</code> se pasarán a la nueva
- URL (asumiendo que es un cgi-script o un cgi-include). Las otras
- variables existirán solo si existían antes de aparecer
- el error o problema. <strong>Ninguna</strong> de estas variables
- se creará si en la directiva <directive
- module="core">ErrorDocument</directive> ha especificado una
- redirección <em>externa</em> (cualquier cosa que empiece
- por un nombre de esquema del tipo <code>http:</code>, incluso si
- se refiere al mismo servidor).</p>
+ <p> Las variables de entorno de tipo <code>REDIRECT_</code> se crean a partir
+ de las variables de entorno que existían antes de la redirección. Se renombran
+ con prefijo <code>REDIRECT_</code>, <em>por ejemplo:</em>,
+ <code>HTTP_USER_AGENT</code> se convierte en
+ <code>REDIRECT_HTTP_USER_AGENT</code>.</p>
+
+ <p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, y
+ <code>REDIRECT_QUERY_STRING</code> están garantizados para ser fijado, y
+ se establecerán las otras cabeceras solo si existían antes de
+ la condición de error.</p>
+
+ <p><strong>Ninguna</strong> de estas condiciones se establecerá
+ si elobjetivo de <directive module="core">ErrorDocument</directive> es una
+ redirección <em>external</em> (nada a partir de un nombre de esquema
+ como <code>http:</code>, incluso si se refiere a la misma máquina que el servidor.</p>
</section>
+
+ <section id="custom"><title>Personalizando Respuestas de Errores</title>
+
+ <p>Si apunta su <code> ErrorDocument</code> a alguna variedad de controlador
+ dinámico como un documento que se incluye en el lado del servidor como CGI,
+ script u otro tipo de manejador, es posible que desee utilizar las variables
+ de entorno disponibles para personalizar esta respuesta.</p>
+
+ <p>Si el ErrorDocument especifica una redirección local a un script CGI, el
+ script debe incluir un campo de cabecera de tipo "<code>Status:</code>" en
+ su salida con el fin de asegurar la propagación de
+ todo el camino de vuelta al cliente de la condición de error que se generó.
+ Por ejemplo, un script de Perl ErrorDocument podría incluir lo siguiente:</p>
+
+ <highlight language="perl">
+...
+print "Content-type: text/html\n"; <br />
+printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
+...
+ </highlight>
+
+ <p> Si el script está dedicado al manejo de una condición de error en particular,
+ como por ejemplo <code>404 Not Found</code>, puede usar el propio
+ código y el error de texto en su lugar.</p>
+
+ <p>Tenga en cuenta que si la respuesta contiene <code>Location:</code>
+ header (con el fin de emitir una redirección del lado del cliente), el
+ script <em>deberá</em>emitir una cabecera apropiada con el <code>Status:</code>
+ (como <code>302 Found</code>). De lo contrario la cabecera
+ <code>Location:</code> no tendrá ningún efecto.</p>
+
</section>
- <section id="configuration">
- <title>Configuración</title>
+ <section id="multi-lang"><title>Documentos de error personalizados
+ Multilengua</title>
- <p>El uso de <directive module="core">ErrorDocument</directive>
- está activado para los ficheros .htaccess cuando <directive
- module="core">AllowOverride</directive> tiene el valor
- adecuado.</p>
-
- <p>Aquí hay algunos ejemplos más...</p>
-
- <example>
- ErrorDocument 500 /cgi-bin/crash-recover <br />
- ErrorDocument 500 "Sorry, our script crashed. Oh dear" <br />
- ErrorDocument 500 http://xxx/ <br />
- ErrorDocument 404 /Lame_excuses/not_found.html <br />
- ErrorDocument 401 /Subscription/how_to_subscribe.html
- </example>
-
- <p>La sintaxis es,</p>
-
- <example>
- ErrorDocument <3-digit-code> <action>
- </example>
-
- <p>donde action puede ser,</p>
-
- <ol>
- <li>Texto a mostrar. Ponga antes del texto que quiere que se
- muestre unas comillas ("). Lo que sea que siga a las comillas se
- mostrará. <em>Nota: las comillas (") no se
- muestran.</em></li>
+ <p>Con la instalación de Apache HTTP Server se proporciona un directorio
+ personal con diferentes mensajes de errores traducidos a 16 idiomas
+ diferentes. También hay un archivo de configuración el el directorio
+ <code>conf/extra</code> que puede ser incluido para añadir esta funcionalidad.</p>
- <li>Una URL local a la que se redireccionará la
- petición.</li>
+ <p>En el archivo de configuración del servidor, verá una línea como:</p>
- <li>Una URL externa a la que se redireccionará la
- petición.</li>
- </ol>
- </section>
+ <highlight language="config">
+ # Multi-language error messages<br />
+ #Include conf/extra/httpd-multilang-errordoc.conf
+ </highlight>
- <section id="custom">
- <title>Mesajes de error personalizados y redirecciones</title>
+ <p>Descomentando éste <code>Include</code> habilitará esta característica,
+ y proporcionar mensajes de error de idioma-negociado,
+ basado en el idioma de preferencia establecido en el navegador del cliente.</p>
- <p>El comportamiento de Apache en cuanto a las redirecciones ha
- cambiado para que puedan usarse más variables de entorno con
- los script/server-include.</p>
-
- <section>
- <title>Antiguo comportamiento</title>
-
- <p>Las variables CGI estándar estaban disponibles para el
- script al que se hacía la redirección. No se incluía
- ninguna indicación sobre la precedencia de la
- redirección.</p>
- </section>
+ <p>Además, estos documentos contienen varias variables del tipo
+ <code>REDIRECT_</code>, con lo que se le puede añadir información adicional
+ de lo que ha ocurrido al usuario final, y que pueden hacer ahora.</p>
- <section>
- <title>Nuevo comportamiento</title>
+ <p>Estos documentos pueden ser personalizados de cualquier forma que desee
+ mostrar más información al usuario a cerca del su sitio web, y que podrán encontrar en él.</p>
- <p>Un nuevo grupo de variables de entorno se inicializa para que
- las use el script al que ha sido redireccionado. Cada
- nueva variable tendrá el prefijo <code>REDIRECT_</code>.
- Las variables de entorno <code>REDIRECT_</code> se crean a
- partir de de las variables de entorno CGI que existen antes de
- la redirección, se les cambia el nombre
- añadiéndoles el prefijo <code>REDIRECT_</code>, por
- ejemplo, <code>HTTP_USER_AGENT</code> pasa a ser
- <code>REDIRECT_HTTP_USER_AGENT</code>. Además, para esas
- nuevas variables, Apache definirá <code>REDIRECT_URL</code>
- y <code>REDIRECT_STATUS</code> para ayudar al script a seguir su
- origen. Tanto la URL original como la URL a la que es redirigida
- la petición pueden almacenarse en los logs de acceso.</p>
-
- <p>Si ErrorDocument especifica una redirección local a un
- script CGI, el script debe incluir una campo de cabeceraa
- "<code>Status:</code>" en el resultado final para asegurar que
- es posible hacer llegar al cliente de vuelta la condición
- de error que lo provocó. Por ejemplo, un script en Perl
- para usar con ErrorDocument podría incluir lo
- siguiente:</p>
+ <p><module>mod_include</module> y <module>mod_negotiation</module>
+ Tienen que estar habilitados para usar estas características.</p>
- <example>
- ... <br />
- print "Content-type: text/html\n"; <br />
- printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
- ...
- </example>
+ </section>
- <p>Si el script tiene como fin tratar una determinada
- condición de error, por ejemplo
- <code>404 Not Found</code>, se pueden usar los
- códigos de error y textos específicos en su lugar.</p>
-
- <p>Tenga en cuenta que el script <em>debe</em> incluir un campo
- de cabecera <code>Status:</code> apropiado (como
- <code>302 Found</code>), si la respuesta contiene un campo de
- cabecera <code>Location:</code> (para poder enviar una
- redirección que se interprete en el cliente). De otra
- manera, la cabecera
- <code>Location:</code> puede que no tenga efecto.</p>
- </section>
- </section>
</manualpage>
-
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.fr
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.fr?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.fr [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.fr [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1741841 -->
+<!-- English Revision : 1741842 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ja
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ja?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ja [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ja [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 558686:1741841 (outdated) -->
+<!-- English Revision: 558686:1741842 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ko
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ko?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ko [euc-kr] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.ko [euc-kr] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 420990:1741841 (outdated) -->
+<!-- English Revision: 420990:1741842 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.meta
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.meta?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.meta (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.meta Wed Sep 12 13:00:53 2018
@@ -12,6 +12,6 @@
<variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
- <variant>tr</variant>
+ <variant outdated="yes">tr</variant>
</variants>
</metafile>
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.tr
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.tr?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.tr [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/custom-error.xml.tr [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1741841 -->
+<!-- English Revision: 1187986:1741842 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@@ -59,19 +59,19 @@
module="core">AllowOverride</directive> yönergesine <code>FileInfo</code>
atanarak <code>.htaccess</code> dosyalarında da kullanılabilir.</p>
- <highlight language="config">
-ErrorDocument 500 "Pardon, galiba bizim betik hata verdi."
-ErrorDocument 500 /cgi-bin/hata-kurtarma
-ErrorDocument 500 http://error.example.com/server_error.html
-ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html
+ <example>
+ ErrorDocument 500 "Pardon, galiba bizim betik hata verdi." <br />
+ ErrorDocument 500 /cgi-bin/hata-kurtarma<br />
+ ErrorDocument 500 http://error.example.com/server_error.html<br />
+ ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html <br />
ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html
- </highlight>
+ </example>
<p><code>ErrorDocument</code> yönergesinin sözdizimi:</p>
- <highlight language="config">
+ <example>
ErrorDocument <3-rakamlı-kod> <eylem>
- </highlight>
+ </example>
<p><var>eylem</var> şunlardan biri olabilir:</p>
@@ -147,12 +147,12 @@ ErrorDocument <3-rakamlı-kod> <
"<code>Status:</code>" başlık alanına yer verilmelidir. Örneğin, bir
Perl betiği şunları içerebilirdi:</p>
- <highlight language="perl">
-...
-print "Content-type: text/html\n";
-printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"};
+ <example>
+ ... <br />
+ print "Content-type: text/html\n"; <br />
+ printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"}; <br />
...
- </highlight>
+ </example>
<p>Eğer betik, <code>404 Not Found</code> gibi, belli bir hata
durumunu ele almaya adanmışsa duruma özel kod ve hata metni
@@ -176,10 +176,10 @@ printf "Status: %s durumu saptandı.\n",
<p>Sunucu yapılandırma dosyanızda şöyle satırlar görebilirsiniz:</p>
- <highlight language="config">
-# Multi-language error messages
+ <example>
+ # Multi-language error messages<br />
#Include conf/extra/httpd-multilang-errordoc.conf
- </highlight>
+ </example>
<p>Bu <code>Include</code> satırını açıklama olmaktan çıkarırsanız
bu özelliği etkinleştirmiş olursunuz. Böylece, istemcinin tarayıcısında
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/documenting.xml.zh-cn
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/documenting.xml.zh-cn?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/documenting.xml.zh-cn (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/documenting.xml.zh-cn Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.zh-cn.xsl"?>
-<!-- English Revision: 586770:1326058 (outdated) -->
+<!-- English Revision: 586770:1325333 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/hooks.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/hooks.xml?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/hooks.xml (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/hooks.xml Wed Sep 12 13:00:53 2018
@@ -238,4 +238,3 @@ static void register_hooks()
</section>
</section>
</manualpage>
-
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/index.xml.zh-cn
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/index.xml.zh-cn?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/index.xml.zh-cn (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/index.xml.zh-cn Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.zh-cn.xsl"?>
-<!-- English Revision: 1042988:1721974 (outdated) -->
+<!-- English Revision: 1042988:1721973 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Added: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml?rev=1840675&view=auto
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml (added)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml Wed Sep 12 13:00:53 2018
@@ -0,0 +1,585 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<!-- $LastChangedRevision$ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="lua.xml.meta">
+<parentdocument href="./">Developer</parentdocument>
+
+ <title>Creating hooks and scripts with mod_lua</title>
+
+<summary>
+<p>This document expands on the <module>mod_lua</module> documentation and explores
+ additional ways of using mod_lua for writing hooks and scripts.</p>
+</summary>
+
+<seealso><a href="../mod/mod_lua.html">mod_lua</a></seealso>
+<seealso><a href="modguide.html">Developing modules for Apache 2.4</a></seealso>
+<seealso><a href="request.html">Request Processing in Apache 2.4</a></seealso>
+<seealso><a href="hooks.html">Apache 2.x Hook Functions</a></seealso>
+
+<section id="introduction"><title>Introduction</title>
+<section id="what"><title>What is mod_lua</title>
+<p>
+Stuff about what <module>mod_lua</module> is goes here.
+</p>
+</section>
+<section id="contents"><title>What we will be discussing in this document</title>
+<p>
+This document will discuss several cases where <module>mod_lua</module> can be used
+to either ease up a phase of the request processing or create more transparency in
+the logic behind a decision made in a phase.
+</p>
+
+</section>
+
+<section id="prerequisites"><title>Prerequisites</title>
+<p>
+First and foremost, you are expected to have a basic knowledge of how the Lua
+programming language works. In most cases, we will try to be as pedagogical
+as possible and link to documents describing the functions used in the
+examples, but there are also many cases where it is necessary to either
+just assume that "it works" or do some digging yourself into what the hows
+and whys of various function calls.
+</p>
+
+
+</section>
+</section>
+
+<section id="enabling"><title>Optimizing mod_lua for production servers</title>
+
+<section><title>Setting a scope for Lua states</title>
+<p>
+Setting the right <directive module="mod_lua">LuaScope</directive> setting
+for your Lua scripts can be essential to your server's
+performance. By default, the scope is set to <code>once</code>, which means
+that every call to a Lua script will spawn a new Lua state that handles that
+script and is destroyed immediately after. This option keeps the memory
+footprint of mod_lua low, but also affects the processing speed of a request.
+If you have the memory to spare, you can set the scope to <code>thread</code>,
+which will make mod_lua spawn a Lua state that lasts the entirety of a thread's
+lifetime, speeding up request processing by 2-3 times. Since mod_lua will create
+a state for each script, this may be an expensive move, memory-wise, so to
+compromise between speed and memory usage, you can choose the <code>server</code>
+option to create a pool of Lua states to be used. Each request for a Lua script or
+a hook function will then acquire a state from the pool and release it back when it's
+done using it, allowing you to still gain a significant performance increase, while
+keeping your memory footprint low. Some examples of possible settings are:
+</p>
+<highlight language="config">
+LuaScope once
+LuaScope thread
+LuaScope server 5 40
+</highlight>
+<p>
+As a general rule of thumb: If your server has none to low usage, use <code>once</code>
+or <code>request</code>, if your server has low to medium usage, use the <code>server</code>
+pool, and if it has high usage, use the <code>thread</code> setting. As your server's
+load increases, so will the number of states being actively used, and having your scope
+set to <code>once/request/conn</code> will stop being beneficial to your memory footprint.
+</p>
+<p>
+<strong>Note:</strong> The <code>min</code> and <code>max</code> settings for the
+<code>server</code> scope denotes the minimum and maximum states to keep in a pool per
+server <em>process</em>, so keep this below your <code>ThreadsPerChild</code> limit.
+</p>
+</section>
+
+<section><title>Using code caching</title>
+<p>
+By default, <module>mod_lua</module> stats each Lua script to determine whether a reload
+(and thus, a re-interpretation and re-compilation) of a script is required. This is managed
+through the <directive module="mod_lua">LuaCodeCache</directive> directive. If you are running
+your scripts on a production server, and you do not need to update them regularly, it may be
+advantageous to set this directive to the <code>forever</code> value, which will cause mod_lua
+to skip the stat process and always reuse the compiled byte-code from the first access to the
+script, thus speeding up the processing. For Lua hooks, this can prove to increase peformance,
+while for scripts handled by the <code>lua-script</code> handler, the increase in performance
+may be negligible, as files httpd will stat the files regardless.
+</p>
+</section>
+
+<section><title>Keeping the scope clean</title>
+<p>
+For maximum performance, it is generally recommended that any initialization of libraries,
+constants and master tables be kept outside the handle's scope:
+</p>
+<highlight language="lua">
+--[[ This is good practice ]]--
+require "string"
+require "someLibrary"
+local masterTable = {}
+local constant = "Foo bar baz"
+
+function handle(r)
+ do_stuff()
+end
+</highlight>
+<highlight language="lua">
+--[[ This is bad practice ]]--
+require "string"
+
+function handle(r)
+ require "someLibrary"
+ local masterTable = {}
+ local constant = "Foo bar baz"
+ do_stuff()
+end
+</highlight>
+</section>
+
+</section>
+
+<section id="basic_remap"><title>Example 1: A basic remapping module</title>
+<p>
+ These first examples show how mod_lua can be used to rewrite URIs in the same
+ way that one could do using <directive module="mod_alias">Alias</directive> or
+ <directive module="mod_rewrite">RewriteRule</directive>, but with more clarity
+ on how the decision-making takes place, as well as allowing for more complex
+ decisions than would otherwise be allowed with said directives.
+</p>
+
+<highlight language="config">
+LuaHookTranslateName /path/too/foo.lua remap
+</highlight>
+
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ Simple remap example.
+ This example will rewrite /foo/test.bar to the physical file
+ /internal/test, somewhat like how mod_alias works.
+]]--
+
+function remap(r)
+ -- Test if the URI matches our criteria
+ local barFile = r.uri:match("/foo/([a-zA-Z0-9]+)%.bar")
+ if barFile then
+ r.filename = "/internal/" .. barFile
+ end
+ return apache2.OK
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ Advanced remap example.
+ This example will evaluate some conditions, and based on that,
+ remap a file to one of two destinations, using a rewrite map.
+ This is similar to mixing AliasMatch and ProxyPass, but
+ without them clashing in any way. Assuming we are on example.com, then:
+
+ http://example.com/photos/test.png will be rewritten as /uploads/www/test.png
+ http://example.com/ext/foo.html will be proxied to http://www.external.com/foo.html
+ URIs that do not match, will be served by their respective default handlers
+]]--
+
+local map = {
+ photos = {
+ source = [[^/photos/(.+)\.png$]],
+ destination = [[/uploads/www/$1.png]],
+ proxy = false
+ },
+ externals = {
+ source = [[^/ext/(.*)$]],
+ destination = [[http://www.external.com/$1]],
+ proxy = true
+ }
+}
+
+function interpolateString(s,v)
+ return s:gsub("%$(%d+)", function(a) return v[tonumber(a)] end)
+end
+
+function remap(r)
+ -- browse through the rewrite map
+ for key, entry in pairs(map) do
+ -- Match source regex against URI
+ local match = r:regex(entry.source, r.uri) then
+ if match and match[0] then
+ r.filename = interpolateString(entry.destination, match)
+ -- Is this a proxied remap?
+ if entry.proxy then
+ r.handler = "proxy-server" -- tell mod_proxy to handle this
+ r.proxyreq = apache2.PROXYREQ_REVERSE -- We'll want to do a reverse proxy
+ r.filename = "proxy:" .. r.filename -- Add the proxy scheme to the destination
+ end
+ return apache2.OK
+ end
+ end
+ return apache2.DECLINED
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+<p>
+bla bla
+</p>
+</section>
+
+
+
+
+<section id="mass_vhost"><title>Example 2: Mass virtual hosting</title>
+<p>
+ As with simple and advanced rewriting, you can use mod_lua for dynamically
+ assigning a hostname to a specific document root, much like
+ <module>mod_vhost_alias</module> does, but with more control over what goes
+ where. This could be as simple as a table holding the information about which
+ host goes into which folder, or more advanced, using a database holding the
+ document roots of each hostname.
+</p>
+
+<highlight language="config">
+LuaHookTranslateName /path/too/foo.lua mass_vhost
+</highlight>
+
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ Simple mass vhost script
+ This example will check a map for a virtual host and rewrite filename and
+ document root accordingly.
+]]--
+
+local vhosts = {
+ { domain = "example.com", home = "/www/example.com" },
+ { domain = "example.org", home = "/nfs/ext1/example.org" }
+}
+
+function mass_vhost(r)
+ -- Match against our hostname
+ for key, entry in pairs(vhosts) do
+ -- match against either host or *.host:
+ if apache2.strcmp_match(r.hostname, entry.domain) or
+ apache2.strcmp_match(r.hostname, "*." .. entry.domain) then
+ -- If it matches, rewrite filename and set document root
+ local filename = r.filename:sub(r.document_root:len()+1)
+ r.filename = entry.home .. filename
+ apahce2.set_document_root(entry.home)
+ return apache2.OK
+ end
+ end
+ return apache2.DECLINED
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ Advanced mass virtual hosting
+ This example will query a database for vhost entries and save them for
+ 60 seconds before checking for updates. For best performance, such scripts
+ should generally be run with LuaScope set to 'thread' or 'server'
+]]--
+
+local cached_vhosts = {}
+local timeout = 60
+
+-- Function for querying the database for saved vhost entries
+function query_vhosts(r)
+ local host = r.hostname
+ if not cached_vhosts[host] or (cached_vhosts[host] and cached_vhosts[host].updated < os.time() - timeout) then
+ local db,err = ap.dbopen(r,"mod_dbd")
+ local _host = db:escape(r,host)
+ local res, err = db:query(r, ("SELECT `destination` FROM `vhosts` WHERE `hostname` = '%s' LIMIT 1"):format(_host) )
+ if res and #res == 1 then
+ cached_vhosts[host] = { updated = os.time(), destination = res[1][1] }
+ else
+ cached_vhosts[host] = { updated = os.time(), destination = nil } -- don't re-query whenever there's no result, wait a while.
+ end
+ db:close()
+ end
+ if cached_vhosts[host] then
+ return cached_vhosts[host].destination
+ else
+ return nil
+ end
+end
+
+function mass_vhost(r)
+ -- Check whether the hostname is in our database
+ local destination = query_vhosts(r)
+ if destination then
+ -- If found, rewrite and change document root
+ local filename = r.filename:sub(r.document_root:len()+1)
+ r.filename = destination .. filename
+ ap.set_document_root(r,destination)
+ return apache2.OK
+ end
+ return apache2.DECLINED
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+<p>
+
+</p>
+</section>
+
+
+
+
+<section id="basic_auth"><title>Example 3: A basic authorization hook</title>
+<p>
+ With the authorization hooks, you can add custom auth phases to your request
+ processing, allowing you to either add new requirements that were not previously
+ supported by httpd, or tweaking existing ones to accommodate your needs.
+</p>
+<highlight language="config">
+LuaHookAuthChecker /path/too/foo.lua check_auth
+</highlight>
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ A simple authentication hook that checks a table containing usernames and
+ passwords of two accounts.
+]]--
+local accounts = {
+ bob = 'somePassword',
+ jane = 'Iloveponies'
+}
+
+-- Function for parsing the Authorization header into a username and a password
+function parse_auth(str)
+ local user,pass = nil, nil
+ if str and str:len() > 0 then
+ str = apache2.base64_decode(auth):sub(7));
+ user, pass = auth:match("([^:]+)%:([^:]+)")
+ end
+ return user, pass
+end
+
+-- The authentication hook
+function check_auth(r)
+ local user, pass = parse_auth(r.headers_in['Authorization'])
+ local authenticated = false
+ if user and pass then
+ if accounts[user] and accounts[user] == pass then
+ authenticated = true
+ r.user = user
+ end
+ end
+ r.headers_out["WWW-Authenticate"] = 'Basic realm="Super secret zone"'
+ if not authenticated then
+ return 401
+ else
+ return apache2.OK
+ end
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+
+<!-- BEGIN EXAMPLE CODE -->
+<highlight language="lua">
+--[[
+ An advanced authentication checker with a database backend,
+ caching account entries for 1 minute
+]]--
+
+local timeout = 60 -- Set account info to be refreshed every minute
+local accounts = {}
+
+-- Function for parsing the Authorization header into a username and a password
+function parse_auth(str)
+ local user,pass = nil, nil
+ if str and str:len() > 0 then
+ str = apache2.base64_decode(auth):sub(7));
+ user, pass = auth:match("([^:]+)%:([^:]+)")
+ end
+ return user, pass
+end
+
+-- Function for querying the database for the account's password (stored as a salted SHA-1 hash)
+function fetch_password(user)
+ if not accounts[user] or (accounts[user] and accounts[user].updated < os.time() - timeout) then
+ local db = apache2.dbopen(r, "mod_dbd")
+ local usr = db:escape(user)
+ local res, err = db:query( ("SELECT `password` FROM `accounts` WHERE `user` = '%s' LIMIT 1"):format(usr) )
+ if res and #res == 1 then
+ accounts[user] = { updated = os.time(), password = res[1][1] }
+ else
+ accounts[user] = nil
+ end
+ db:close()
+ end
+ if accounts[user] then
+ return accounts[user].password
+ else
+ return nil
+ end
+end
+
+-- The authentication hook
+function check_auth(r)
+ local user, pass = parse_auth(r.headers_in['Authorization'])
+ local authenticated = false
+ if user and pass then
+ pass = apache2.sha1("addSomeSalt" .. pass)
+ local stored_pass = fetch_password(user)
+ if stored_pass and pass == stored_pass then
+ authenticated = true
+ r.user = user
+ end
+ end
+ r.headers_out["WWW-Authenticate"] = 'Basic realm="Super secret zone"'
+ if not authenticated then
+ return 401
+ else
+ return apache2.OK
+ end
+end
+</highlight>
+<!-- END EXAMPLE CODE -->
+
+
+</section>
+
+<section id="authz"><title>Example 4: Authorization using LuaAuthzProvider</title>
+<p>
+ If you require even more advanced control over your authorization phases,
+ you can add custom authz providers to help you manage your server. The
+ example below shows you how you can split a single htpasswd file into
+ groups with different permissions:
+</p>
+<highlight language="config">
+LuaAuthzProvider rights /path/to/lua/script.lua rights_handler
+<Directory "/www/private">
+ Require rights member
+</Directory>
+<Directory "/www/admin">
+ Require rights admin
+</Directory>
+</highlight>
+
+<highlight language="lua">
+--[[
+ This script has two user groups; members and admins, and whichever
+ is referred to by the "Require rights" directive is checked to see
+ if the authenticated user belongs to this group.
+]]--
+
+local members = { "rbowen", "humbedooh", "igalic", "covener" }
+local admins = { "humbedooh" }
+
+function rights_handler(r, what)
+ if r.user == nil then
+ return apache2.AUTHZ_AUTHZ_DENIED_NO_USER
+ end
+ if what == "member" then
+ for k, v in pairs(members) do
+ if r.user == v then
+ return apache2.AUTHZ_GRANTED
+ end
+ end
+ elseif what == "admin" then
+ for k, v in pairs(admins) do
+ if r.user == v then
+ return apache2.AUTHZ_GRANTED
+ end
+ end
+ end
+ return apache2.AUTHZ_DENIED
+end
+</highlight>
+</section>
+
+
+<section id="loadbalancing"><title>Example 5: A rudimentary load balancer</title>
+<p>
+ This is an example of how you can create a load balancing mechanism.
+ In this example, we will be setting/getting the number of requests served
+ by each backend using IVM variables, and preferring the backend with least
+ requests served in total:
+</p>
+<highlight language="config">
+LuaHookTranslateName /path/to/script.lua proxy_handler
+</highlight>
+
+<highlight language="lua">
+--[[
+ This script uses a basic IVM table to determine where to
+ send the request.
+]]--
+
+local backends = {
+ "http://backend1.foo.com/",
+ "http://backend2.foo.com/",
+ "http://backend3.foo.com/"
+}
+
+function pick_backend(r)
+ local chosen_backend = 1 -- default to backend1
+ local lowest_count = nil
+ for i = 1, #backends, 1 do -- Loop through all backends
+ local count = r:ivm_get("proxy_request_count_" .. i)
+ if not count then -- If this backend hasn't been used at all, prefer it
+ chosen_backend = i
+ lowest_count = 0
+ break
+ end
+ if not lowest_count or lowest_count > count then -- If this backend has had less requests, pick it for now
+ chosen_backend = i
+ lowest_count = count
+ end
+ end
+ lowest_count = lowest_count + 1
+ r:ivm_set("proxy_request_count_" .. chosen_backend, lowest_count)
+ return chosen_backend
+end
+
+function proxy_handler(r)
+ local backend = pick_backend(r) -- Pick a backend based on no. of requests served
+ r.handler = "proxy-server"
+ r.proxyreq = apache2.PROXYREQ_REVERSE
+ r.filename = "proxy:" .. backends[backend] .. r.uri
+ return apache2.DECLINED -- let the proxy handler do this instead
+end
+</highlight>
+</section>
+
+<section id="map_handler"><title>Example 6: Overlays using LuaMapHandler</title>
+<p>
+Coming soon!
+</p>
+<highlight language="config">
+LuaMapHandler ^/portal/([a-z]+)/ /path/to/lua/script.lua handle_$1
+</highlight>
+</section>
+
+<section id="mod_status_lua"><title>Example 6: Basic Lua scripts</title>
+<p>
+Also coming soon
+</p>
+</section>
+
+
+</manualpage>
Added: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml.meta
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml.meta?rev=1840675&view=auto
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml.meta (added)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/lua.xml.meta Wed Sep 12 13:00:53 2018
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- GENERATED FROM XML: DO NOT EDIT -->
+
+<metafile reference="lua.xml">
+ <basename>lua</basename>
+ <path>/developer/</path>
+ <relpath>..</relpath>
+
+ <variants>
+ <variant>en</variant>
+ </variants>
+</metafile>
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modguide.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modguide.xml?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modguide.xml (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modguide.xml Wed Sep 12 13:00:53 2018
@@ -121,7 +121,7 @@ For now, we're only concerned with the f
which comes into play when we need to load the module:
</p>
<highlight language="config">
-LoadModule example_module modules/mod_example.so
+LoadModule example_module "modules/mod_example.so"
</highlight>
<p>
In essence, this tells the server to open up <code>mod_example.so</code> and look for a module
@@ -165,15 +165,15 @@ our example case, we want every request
the server to do just that:
</p>
<highlight language="config">
-AddHandler example-handler .sum
+AddHandler example-handler ".sum"
</highlight>
<p>
What this tells the server is the following: <em>Whenever we receive a request
for a URI ending in .sum, we are to let all modules know that we are
looking for whoever goes by the name of "example-handler" </em>.
Thus, when a request is being served that ends in .sum, the server will let all
-modules know, that this request should be served by "example-handler
-". As you will see later, when we start building mod_example, we will
+modules know, that this request should be served by "example-handler".
+As you will see later, when we start building mod_example, we will
check for this handler tag relayed by <code>AddHandler</code> and reply to
the server based on the value of this tag.
</p>
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modules.xml.ja
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modules.xml.ja?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modules.xml.ja [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/modules.xml.ja [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
-<!-- English Revision: 420993:1450091 (outdated) -->
+<!-- English Revision: 420993:1375170 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/new_api_2_4.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/new_api_2_4.xml?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/new_api_2_4.xml (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/new_api_2_4.xml Wed Sep 12 13:00:53 2018
@@ -490,10 +490,6 @@
<dt><code>unixd_config</code></dt>
<dd>This has been renamed to ap_unixd_config.</dd>
- <dt><code>unixd_setup_child()</code></dt>
- <dd>This has been renamed to ap_unixd_setup_child(), but most callers
- should call the added ap_run_drop_privileges() hook.</dd>
-
<dt><code>conn_rec->remote_ip</code> and
<code>conn_rec->remote_addr</code></dt>
<dd>These fields have been renamed in order to distinguish between
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/request.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/request.xml?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/request.xml (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/developer/request.xml Wed Sep 12 13:00:53 2018
@@ -216,4 +216,3 @@ if ((access_status = ap_run_auth_checker
</section>
</section>
</manualpage>
-
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.fr
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.fr?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.fr [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.fr [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1673563 -->
+<!-- English Revision: 1673652 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ja
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ja?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ja [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ja [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 507346:1673563 (outdated) -->
+<!-- English Revision: 507346:1673652 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ko
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ko?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ko [euc-kr] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.ko [euc-kr] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1673563 (outdated) -->
+<!-- English Revision: 105989:1673652 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.meta
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.meta?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.meta (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.meta Wed Sep 12 13:00:53 2018
@@ -11,6 +11,6 @@
<variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
- <variant>tr</variant>
+ <variant outdated="yes">tr</variant>
</variants>
</metafile>
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.tr
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.tr?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.tr [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dns-caveats.xml.tr [utf-8] Wed Sep 12 13:00:53 2018
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1673563 -->
+<!-- English Revision: 1174747:1673652 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@@ -41,13 +41,15 @@
<section id="example">
<title>Basit Bir Örnek</title>
- <highlight language="config">
-# Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın.
+ <example>
+ # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. <br />
<VirtualHost falan.fesmekan.dom>
- ServerAdmin filanca@fesmekan.dom
- DocumentRoot "/siteler/fesmekan"
+ <indent>
+ ServerAdmin filanca@fesmekan.dom <br />
+ DocumentRoot /siteler/fesmekan
+ </indent>
</VirtualHost>
- </highlight>
+ </example>
<p>httpd’nin beklendiği gibi işlemesi için her sanal konak için iki
veriye mutlaka ihtiyacı vardır: <directive module="core"
@@ -62,13 +64,15 @@
<p><code>falan.fesmekan.dom</code>’un 192.168.2.1 IP adresine sahip
olduğunu varsayarsak yapılandırma şöyle olurdu:</p>
- <highlight language="config">
-# Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın.
-<VirtualHost 192.168.2.1>
- ServerAdmin filanca@fesmekan.dom
- DocumentRoot "/siteler/fesmekan"
+ <example>
+ # Bu yetersiz bir yapılandırma örneğidir, sunucunuzda kullanmayın. <br />
+ <VirtualHost 192.168.2.1> <br />
+ <indent>
+ ServerAdmin filanca@fesmekan.dom <br />
+ DocumentRoot /siteler/fesmekan
+ </indent>
</VirtualHost>
- </highlight>
+ </example>
<p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için
httpd’nin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
@@ -81,13 +85,15 @@
<p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p>
- <highlight language="config">
-<VirtualHost 192.168.2.1>
- ServerName falan.fesmekan.dom
- ServerAdmin filanca@fesmekan.dom
- DocumentRoot "/siteler/fesmekan"
+ <example>
+ <VirtualHost 192.168.2.1> <br />
+ <indent>
+ ServerName falan.fesmekan.dom <br />
+ ServerAdmin filanca@fesmekan.dom <br />
+ DocumentRoot /siteler/fesmekan
+ </indent>
</VirtualHost>
- </highlight>
+ </example>
</section>
<section id="denial">
@@ -95,17 +101,21 @@
<p>Şöyle bir yapılandırmanız olsun:</p>
- <highlight language="config">
-<VirtualHost falan.fesmekan.dom>
- ServerAdmin filanca@fesmekan.dom
- DocumentRoot "/siteler/fesmekan"
-</VirtualHost>
-
-<VirtualHost misal.mesela.dom>
- ServerAdmin falanca@mesela.dom
- DocumentRoot "/siteler/mesela"
+ <example>
+ <VirtualHost falan.fesmekan.dom><br />
+ <indent>
+ ServerAdmin filanca@fesmekan.dom <br />
+ DocumentRoot /siteler/fesmekan
+ </indent>
+ </VirtualHost><br />
+ <br />
+ <VirtualHost misal.mesela.dom><br />
+ <indent>
+ ServerAdmin falanca@mesela.dom<br />
+ DocumentRoot /siteler/mesela<br />
+ </indent>
</VirtualHost>
- </highlight>
+ </example>
<p><code>falan.fesmekan.dom</code>’a 192.168.2.1,
<code>misal.mesela.dom</code>’a 192.168.2.2 atadığınızı fakat,
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dso.xml.ja
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dso.xml.ja?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dso.xml.ja [utf-8] (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/dso.xml.ja [utf-8] Wed Sep 12 13:00:53 2018
@@ -52,9 +52,9 @@
</related>
<p>個々の Apache モジュールをロードするための DSO サポートは
- <module>mod_so.c</module> というモジュールの機能に基づいています。
+ <module>mod_so</module> というモジュールの機能に基づいています。
このモジュール は Apache のコアに静的に組み込まれている必要があります。
- それは <module>core.c</module> 以外では DSO にできない唯一の
+ それは <module>core</module> 以外では DSO にできない唯一の
モジュールです。事実上、他のすべての Apache のモジュールは、
<a href="install.html">インストールの文書</a>で説明されているように、
<program>configure</program> の
Modified: httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/env.xml
URL: http://svn.apache.org/viewvc/httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/env.xml?rev=1840675&r1=1840674&r2=1840675&view=diff
==============================================================================
--- httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/env.xml (original)
+++ httpd/sandbox/httpd-2.4.x-trunk-delta/docs/manual/env.xml Wed Sep 12 13:00:53 2018
@@ -509,7 +509,7 @@ BrowserMatch "JDK/1\.0" force-response-1
SetEnvIf Request_URI \.gif image-request
SetEnvIf Request_URI \.jpg image-request
SetEnvIf Request_URI \.png image-request
-CustomLog logs/access_log common env=!image-request
+CustomLog "logs/access_log" common env=!image-request
</highlight>
</section>