Versión 2.0 del Servidor HTTP Apache

| Descripción: | Funcionalidades básicas del servidor HTTP Apache que están siempre presentes | 
|---|---|
| Estado: | Core | 
 AcceptPathInfo
 AcceptPathInfo AccessFileName
 AccessFileName AddDefaultCharset
 AddDefaultCharset AddOutputFilterByType
 AddOutputFilterByType AllowEncodedSlashes
 AllowEncodedSlashes AllowOverride
 AllowOverride AuthName
 AuthName AuthType
 AuthType CGIMapExtension
 CGIMapExtension ContentDigest
 ContentDigest DefaultType
 DefaultType <Directory>
 <Directory> <DirectoryMatch>
 <DirectoryMatch> DocumentRoot
 DocumentRoot EnableMMAP
 EnableMMAP EnableSendfile
 EnableSendfile ErrorDocument
 ErrorDocument ErrorLog
 ErrorLog FileETag
 FileETag <Files>
 <Files> <FilesMatch>
 <FilesMatch> ForceType
 ForceType HostnameLookups
 HostnameLookups IdentityCheck
 IdentityCheck <IfDefine>
 <IfDefine> <IfModule>
 <IfModule> Include
 Include KeepAlive
 KeepAlive KeepAliveTimeout
 KeepAliveTimeout <Limit>
 <Limit> <LimitExcept>
 <LimitExcept> LimitInternalRecursion
 LimitInternalRecursion LimitRequestBody
 LimitRequestBody LimitRequestFields
 LimitRequestFields LimitRequestFieldSize
 LimitRequestFieldSize LimitRequestLine
 LimitRequestLine LimitXMLRequestBody
 LimitXMLRequestBody <Location>
 <Location> <LocationMatch>
 <LocationMatch> LogLevel
 LogLevel MaxKeepAliveRequests
 MaxKeepAliveRequests NameVirtualHost
 NameVirtualHost Options
 Options Require
 Require RLimitCPU
 RLimitCPU RLimitMEM
 RLimitMEM RLimitNPROC
 RLimitNPROC Satisfy
 Satisfy ScriptInterpreterSource
 ScriptInterpreterSource ServerAdmin
 ServerAdmin ServerAlias
 ServerAlias ServerName
 ServerName ServerPath
 ServerPath ServerRoot
 ServerRoot ServerSignature
 ServerSignature ServerTokens
 ServerTokens SetHandler
 SetHandler SetInputFilter
 SetInputFilter SetOutputFilter
 SetOutputFilter TimeOut
 TimeOut UseCanonicalName
 UseCanonicalName <VirtualHost>
 <VirtualHost>| Descripción: | Especifica si los recursos aceptan información de path añadida (trailing pathname information) | 
|---|---|
| Sintaxis: | AcceptPathInfo On|Off|Default | 
| Valor por defecto: | AcceptPathInfo Default | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Disponible en la versiones de Apache 2.0.30 y posteriores | 
Esta directiva controla si las peticiones que contienen
    información de path añadida (trailing pathname
    information) a continuación de un nombre de fichero existente
    (o no existente en un directorio que sí existe) serán
    aceptadas o rechazadas. La información de path añadida
    (trailing pathname information) puede pasarse a los scripts en la
    variable de entorno PATH_INFO.
Por ejemplo, suponga que la ubicación /test/
    se refiere a un directorio que contiene un único fichero:
    here.html.  Entonces, tanto las peticiones a
    /test/here.html/more como las peticiones a
    /test/nothere.html/more toman /more como
    PATH_INFO.
Los tres argumentos que puede tomar la directiva
    AcceptPathInfo son:
Off/test/here.html/more
    como en el ejemplo de arriba, devolverá el mensaje de error
    404 NOT FOUND.On/test/here.html/more será aceptado si
    /test/here.html se refiere a un fichero
    válido.DefaultPATH_INFO. Los
    handlers que sirven scripts, como cgi-script e isapi-handler, generalmente aceptan
    PATH_INFO por defecto.El propósito principal de la directiva
    AcceptPathInfo es permitirle hacer prevalecer su
    propio criterio sobre el del handler acerca de si se debe aceptar
    o rechazar PATH_INFO. Esto es necesario por ejemplo,
    cuando use un filtro, como INCLUDES, para generar contenido
    basado en PATH_INFO.  El handler básico
    rechazaría normalmente la petición. Puede usar la
    siguiente configuración para activar dicho script:
      <Files "mypaths.shtml">
      
        Options +Includes
        SetOutputFilter INCLUDES
        AcceptPathInfo On
      
      </Files>
    
| Descripción: | Nombre del fichero de configuración distribuida | 
|---|---|
| Sintaxis: | AccessFileName filename [filename] ... | 
| Valor por defecto: | AccessFileName .htaccess | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
Durante el procesamiento de una petición el servidor busca el primer fichero de configuración de esta lista de nombres en cada directorio de la ruta del documento, siempre y cuando los ficheros de configuración distribuida estén activados para ese directorio. Por ejemplo:
      AccessFileName .acl
    
Antes de devolver el documento
    /usr/local/web/index.html, el servidor leerá
    /.acl, /usr/.acl,
    /usr/local/.acl y /usr/local/web/.acl
    buscando directivas, a menos que hayan sido desactivados con
      <Directory />
      
        AllowOverride None
      
      </Directory>
    
| Descripción: | Parámetro del conjunto de caracteres que se
añade cuando el tipo de contenido de una respuesta es text/plainotext/html | 
|---|---|
| Sintaxis: | AddDefaultCharset On|Off|charset | 
| Valor por defecto: | AddDefaultCharset Off | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica un valor por defecto para el
    parámetro del conjunto de caracteres que se añade
    añade si solo si el tipo de contenido de una respuesta es
    text/plain o text/html. EL valor
    pecificado en esta directiva no prevalecerá si cualquier otro
    conjunto de caracteres es especificado en el cuerpo del documento
    por medio de una etiqueta META, aunque a menudo, el
    comportamiento exacto está determinado por la
    configuración del cliente. Si se especifica
    AddDefaultCharset Off, se desactiva esta
    funcionalidad. AddDefaultCharset On activa el uso del
    conjunto de caracteres por defecto interno de Apache,
    iso-8859-1. Cualquier otro valor se asume que es el
    charset a usar, que será uno los registrados
    por la IANA como tipos MIME. Por ejemplo:
      AddDefaultCharset utf-8
    
AddDefaultCharset debe ser usada solo
    cuando todos los recursos de texto a los que se aplican se saben
    que usan un determiando conjunto de caracteres (character
    encoding) y no es conveniente etiquetar los documentos
    individualmente. Un ejemplo es su uso en recursos que contienen
    contenido generado, como CGIs antiguos, que puede ser vulnerables
    a ataques debidos a que se incluye en el resultado datos
    suministrados por el usuario. Tenga en cuenta, sin embargo, que
    una mejor solución es simplemente modificar (o borrar) esos
    scripts, porque especificar un conjunto de caracteres por defecto
    no protege a los usuarios que tengan activada en su navegador la
    opción "auto-detect character encoding".
| Descripción: | Asigna un filtro de salida a un tipo MIME en particular | 
|---|---|
| Sintaxis: | AddOutputFilterByType filter[;filter...]
MIME-type [MIME-type] ... | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Disponible en las versiones de Apache 2.0.33 y posteriores | 
Esta directiva activa un filtro de salida en particular para las peticiones en función del tipo MIME de la respuesta.
El siguiente ejemplo usa el filtro DEFLATE, del
    módulo mod_deflate. Este filtro comprime la
    parte de la respuesta de la petición (ya sea estática o
    dinámica) que esté etiquetada como
    text/html o text/plain antes de ser
    enviada al cliente.
      AddOutputFilterByType DEFLATE text/html text/plain
    
Si quiere que los contenidos sean procesados por más de un
    filtro, debe separar sus nombres con puntos y comas
    (;). Tambén es posible usar la directiva
    AddOutputFilterByType para cada uno de los
    filtros.
La configuración que se muestra más abajo hace que
    todos los scripts etiquetados como text/html sean
    procesados primero por el filtro INCLUDES y
    posteriormente por el filtro DEFLATE.
    <Location /cgi-bin/>
    
      Options Includes
      AddOutputFilterByType INCLUDES;DEFLATE text/html
    
    </Location>
    
Activar filtros con la
      directiva AddOutputFilterByType puede no
      funcionar parcial o totalmente. Por ejemplo, no se aplica
      ningún filtro si es posible determinar el tipo MIME y se
      aplica en su lugar DefaultType, incluso si el DefaultType es el mismo.
Si quiere estar seguro de que se apliquen los filtros, asigne
      el tipo de contenido a un recurso explícitamente, por ejemplo
      con la directiva AddType o con ForceType. Determinar el tipo de
      contenido dentro de un script CGI (que no sea del tipo nph)
      también es seguro.
Los filtros de salida por tipo no se aplican nunca en peticiones proxy.
| Descripción: | Determina si se acepta el uso de separadores de ubicación codificados en las URLs | 
|---|---|
| Sintaxis: | AllowEncodedSlashes On|Off | 
| Valor por defecto: | AllowEncodedSlashes Off | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Disponible en las versines de Apache 2.0.46 y posteriores | 
La directiva AllowEncodedSlashes
    perimite usar URLs que contienen separadores de ubicación
    codificados (%2F para / y 
    %5C para \ en función del
    sistema). Normalmente, tales URLs se rechazan y se devuelve un
    mensaje de error 404 (Not found).
Especificar el valor On en la directiva
    AllowEncodedSlashes es útil sobre todo
    cuando se usa junto con PATH_INFO.
Permitir barras codificadas
      no implica su decodificado.  La aparición
      de %2F o %5C (según el sistemas
      de que se trate) se dejará como tal en la cadena de
      caracteres que conforma la de otra manera URL decodificada.
| Descripción: | Tipos de directivas que cuyo uso está permitido en los ficheros .htaccess | 
|---|---|
| Sintaxis: | AllowOverride All|None|directive-type
[directive-type] ... | 
| Valor por defecto: | AllowOverride All | 
| Contexto: | directory | 
| Estado: | Core | 
| Módulo: | core | 
Cuando el servidor encuentra un fichero .htaccess
    (como se explica en la directiva AccessFileName) es necesario saber que
    directivas presentes en ese fichero pueden prevalecer sobre
    las directivas de configuración previas.
AllowOverride puede usarse solo en las
    secciones <Directory> especificadas sin expresiones
    regulares, nunca en las secciones <Location>, <DirectoryMatch> o <Files>.
    Cuando el valor de esta directiva es None,
    entonces los ficheros .htaccess son
    ignorados completamente. En ese caso, el servidor ni siquiera
    intentará leer los archivos .htaccess
    existentes.
Cuando el valor especificado en esta directiva es
    All, entonces cualquier directiva que tenga Context .htaccess puede ser
    usada en los ficheros .htaccess.
El tipo de directiva puede ser uno de los siguientes grupos de directivas.
AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc.).DefaultType, ErrorDocument, ForceType, LanguagePriority,
      SetHandler, SetInputFilter, SetOutputFilter, y
      mod_mime las directivas Add* y Remove*,
      etc.).AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName,
      etc.).Allow, Deny y Order).Options y XBitHack).Ejemplo:
      AllowOverride AuthConfig Indexes
    
En el ejemplo de arriba todas las directivas que no están
    en el grupo AuthConfig ni en el grupo
    Indexes provocan un error interno del servidor.
| Descripción: | Ambito de autorización para su uso en autentificación HTTP | 
|---|---|
| Sintaxis: | AuthName auth-domain | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | AuthConfig | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica el nombre de dominio que se muestra
     al solicitar autorización para acceder a un directorio. Este
     nombre de dominio se muestra al cliente para que el usuario sepa
     qué nombre de usuario y contraseña ha de introducir.
     AuthName toma solamente un argumento; si
     el nombre de dominio contiene algún espacio, debe escribirse
     entre comillas. Para que funcione correctamente, esta directiva
     debe usarse junto con las directivas AuthType y Require, y con directivas como
     AuthUserFile y
     AuthGroupFile.
Por ejemplo:
     AuthName "Top Secret"
   
La cadena de caracteres que se especifique como valor de
    AuthName será lo que aparecerá en el cuadro
    de diálogo de acceso de la mayoría de los
    navegadores.
| Descripción: | Tipo de autentificación de usuarios | 
|---|---|
| Sintaxis: | AuthType Basic|Digest | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | AuthConfig | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva selecciona el tipo de autentificación de
    usuarios que usará para un directorio. Actualmente solamente
    están implementadas las opciones Basic y
    Digest.
     Para que funcione correctamente, esta directiva tiene que ir
     acompañada por las directivas AuthName y Require, y de directivas como
     AuthUserFile y
     AuthGroupFile.
| Descripción: | Técnica para localizar un intérprete de scripts CGI | 
|---|---|
| Sintaxis: | CGIMapExtension cgi-path
.extension | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Solamente NetWare | 
Esta directiva se usa para controlar la forma en que Apache
    encuentra el intérprete para ejecutar scripts CGI. Por
    ejemplo, si usa CGIMapExtension sys:\foo.nlm .foo,
    todos los scripts CGI con extensión .foo se
    pasarán al intérprete FOO.
| Descripción: | Activa la generación de cabeceras de respuesta HTTP Content-MD5 | 
|---|---|
| Sintaxis: | ContentDigest On|Off | 
| Valor por defecto: | ContentDigest Off | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Options | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva permite la generación de cabeceras
    Content-MD5 según se definen en RFC1864 y
    RFC2068.
MD5 es un algoritmo que genera una cadena de caracteres ("message digest", a veces llamado "huella dactilar") a partir de unos datos de longitud arbitraria. La forma en que funciona este algoritmo hace que con casi toda seguridad, si se producen alteraciones en los datos originales, el "message digest" generado también será diferente.
La cabecera Content-MD5 es una forma de comprobar
    la integridad de un mensaje de principio a fin (MIC) para los
    mensajes HTTP (entity-body). Un proxy o un cliente pueden
    comprobar esta cabecera para detectar modificaciones accidentales
    en el mensaje HTTP (entity-body) en tránsito. Cabecera de
    ejemplo:
      Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
    
Tenga en cuenta que el uso de esta directiva puede provocar un menor rendimiento de su servidor porque el "message digest" se genera en cada petición (los valores no se guardan).
La cebecera Content-MD5 se envía solamente
    cuando un documento es servido por core. Si el
    documento es servido con cuaquier otro módulo, no se
    envía. Por ejemplo, los documentos SSI, las salidas de
    scripts CGI, y las respuesta parciales (byte range responses) no
    tienen esta cabecera.
| Descripción: | Tipo de contenido MIME por defecto que usará el servidor si no puede determinar el tipo MIME en concreto del documento a servir | 
|---|---|
| Sintaxis: | DefaultType MIME-type | 
| Valor por defecto: | DefaultType text/plain | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
Hay veces en las que se pide al servidor que devuelva un documento cuyo tipo MIME no puede determinar.
El servidor tiene que informar al cliente del tipo de contenido
    del documento. En el caso de que se trate de un tipo desconocido,
    se usa el tipo DefaultType. Por ejemplo:
      DefaultType image/gif
    
sería apropiado para un directorio que contenga muchas
    imagenes tipo GIF cuyos nombres de fichero no tengan la
    extensión .gif.
Tenga en cuenta que a diferencia de ForceType, esta directiva solamente
    indica el tipo MIME por defecto. El resto de definiciones de tipos
    MIME, incluidas las extensiones de fichero, que pueden identificar
    el tipo MIME de que se trata prevalecen sobre esta opción por
    defecto.
| Descripción: | Engloba a un grupo de directivas que se aplicarán solamente al directorio del sistema de ficheros especificado y a sus subdirectorios | 
|---|---|
| Sintaxis: | <Directory directory-path>
... </Directory> | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
Las directivas <Directory>
    y </Directory> se usan para englobar un grupo
    de directivas que se aplicarán solamente al directorio
    especificado y a sus subdirectorios. Puede incluir a cualquier
    directiva cuyo uso esté permitido en un contexto
    <directory>. Directory-path puede ser tanto la
    ruta completa a un directorio, como una cadena de caracteres
    comodín que use las reglas de equivalencia de los shells de
    Unix. En una cadena de caracteres comodín, el carácter
    ? equivale a cualquier carácter individual, y
    * equivale a cualquier secuencia de
    caracteres. También puede usar [] para expresar
    rangos de caracteres. Ninguno de los caracteres comodín
    equivale al carácter `/', de modo que <Directory
    /*/public_html> no equivale a
    /home/user/public_html, pero sí a
    <Directory /home/*/public_html>. Ejemplo:
      <Directory /usr/local/httpd/htdocs>
      
        Options Indexes FollowSymLinks
      
      </Directory>
    
Tenga especial cuidado con los argumentos de
      directory-path: tienen que equivaler literalmente a
      la ruta del sistema de ficheros que Apache usa para acceder a
      los ficheros. Las directivas aplicadas a un
      <Directory> en particular no se
      aplicarán a los ficheros de ese mismo directorio pero que
      sean accedidos mediante una ruta diferente, como por ejemplo
      mediante enlaces simbólicos diferentes.
También pueden usar expresiones regulares extendidas,
    añadiendo el carácter ~. Por ejemplo:
      <Directory ~ "^/www/.*/[0-9]{3}">
    
equivaldría a los directorios en /www/ cuyo
    nombres consistan en tres números.
Si varias (expresiones no regulares) secciones <Directory> equivalen al directorio (o a
    uno de los directorios de los que es subdirectorio) que contiene
    un documento, entonces las directivas se aplican según el
    criterio de la ruta equivalente más corta, junto con las
    directivas de los archivos .htaccess. Por ejemplo, con
      <Directory />
      
        AllowOverride None
      
      </Directory>
      
      <Directory /home/>
      
        AllowOverride FileInfo
      
      </Directory>
    
para acceder al documento /home/web/dir/doc.html
    los pasos son:
AllowOverride None
      (desactivando los ficheros .htaccess).AllowOverride FileInfo
      (para el directorio /home).FileInfo en
      /home/.htaccess, /home/web/.htaccess y
      /home/web/dir/.htaccess por ese orden.Las expresiones regulares no se tienen en cuenta hasta que todas las secciones normales hayan sido aplicadas. En ese momento todas se evalúan las expresiones regulares en el orden en que aparecen en el fichero de configuración. Por ejemplo, con
      <Directory ~ abc$>
      
        # ... directivas aquí ...
      
      </Directory>
    
la sección de expresiones regulares no será
    considerada hasta después de que todas las directivas
    <Directory> y los ficheros
    .htaccess hayan sido aplicados. Solamente entonces
    las expresiones regulares que tengan una equivalencia con
    /home/abc/public_html/abc y la correspondiente
    directiva <Directory>
    serán aplicadas.
Tenga en cuenta que por defecto el acceso de Apache a
    <Directory /> es Allow from All.
    Esto significa que Apache servirá cualquier fichero que se
    corresponda con una URL. Se recomienda que modifique este
    comportamiento con un bloque del siguiente tipo
      <Directory />
      
        Order Deny,Allow
        Deny from All
      
      </Directory>
    
y haga prevalecer una configuración diferente para los solamente para los directorios que usted quiera que sean accesibles. Consulte la sección Consejos de seguridad para obtener más información.
Las secciones "directory" se usan en el archivo
    httpd.conf.  Las directivas <Directory> no pueden anidarse, y no
    pueden aparecer en una sección de tipo <Limit> o <LimitExcept>.
| Descripción: | Incluye las directivas que se aplican a los directorios y subdirectorios del sistema de ficheros que equivalen a una expresión regular | 
|---|---|
| Sintaxis: | <DirectoryMatch regex>
... </DirectoryMatch> | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
<DirectoryMatch> y
    </DirectoryMatch> se usan para englobar a un
    grupo de directivas que se aplicarán solamente al directorio
    (y los subdirectorios de éste) especificado, al igual que
    <Directory>. Sin
    embargo, en ese caso la directiva toma como argumento una
    expresión regular. Por ejemplo:
      <DirectoryMatch "^/www/.(.+)?[0-9]{3}">
    
equivaldrá a los directorios en /www/ cuyo nombre
    consista en tres números.
<Directory>
si quiere una descripción completa de cómo se usan
conjuntamente las expresiones regulares con la directiva <Directory>| Descripción: | Directorio principal que contiene la estructura de directorios visible desde la web | 
|---|---|
| Sintaxis: | DocumentRoot directory-path | 
| Valor por defecto: | DocumentRoot /usr/local/apache/htdocs | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica el directorio desde el cuál
    httpd servirá los ficheros. A menos que
    especifique alguna otra equivalencia mediante una directiva
    Alias, el servidor
    añade la ruta de la URL solicitada a este directorio para
    construir la ruta del documento a servir. Ejemplo:
      DocumentRoot /usr/web
    
esto quiere decir que una petición de acceso a
    http://www.my.host.com/index.html se refiere a
    /usr/web/index.html en el sistema de ficheros.
El directorio que especifique en
    DocumentRoot debe escribirlo sin barra al
    final.
| Descripción: | Permite el uso de mapeo de memoria para leer archivos mientras se sirven | 
|---|---|
| Sintaxis: | EnableMMAP On|Off | 
| Valor por defecto: | EnableMMAP On | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva controla si httpd puede usar
    mapeo de memoria en caso de ser necesario para leer los contenidos
    de un archivo al servirlo.  Por defecto, cuando el tratamiento de
    una petición requiere acceder a los datos dentro de un
    fichero -- por ejemplo, cuando se sirve un fichero analizado
    sintácticamente por el servidor con el módulo
    mod_include -- Apache mapea en memoria el archivo
    si el sistema operativo soporta esa operación.
El mapeo de memoria supone a veces una mejora en el rendimiento. Sin embargo, en ciertos entornos, es mejor desactivar el mapeo de memoria para evitar problemas operacionales:
httpd.DocumentRoot montado en NFS,
    httpd podría abortar su ejecución
    debido a un fallo de segmentación si el fichero se borra o se
    trunca mientras que httpd lo tiene mapeado en
    memoria.Para configuraciones del servidor que son sensibles a estos problemas, debe desactivar el uso del mapeo en memoria especificando:
      EnableMMAP Off
    
Para ficheros montados en NFS, puede desactivar esta funcionalidad explícitamente para los archivos implicados especificando:
      <Directory "/path-to-nfs-files">
      
        EnableMMAP Off
      
      </Directory>
    
| Descripción: | Permite el uso del soporte de sendfile del kernel para servir ficheros @@@@@ Use the kernel sendfile support to deliver files to the client @@@@@ | 
|---|---|
| Sintaxis: | EnableSendfile On|Off | 
| Valor por defecto: | EnableSendfile On | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Disponible en las versiones de Apache 2.0.44 y posteriores | 
Esta directiva controla si httpd puede usar
    el soporte de sendfile del kernel para transmitir contenidos de
    ficheros al cliente.  Por defecto, cuando se está procesando
    una petición que no requiere acceso a los datos de un fichero
    -- por ejemplo, cuando se sirve un fichero estático -- Apache
    usa sendfile para servir los contenidos del fichero directamente a
    la red, sin leer el fichero si el sistema operativo lo
    permite.
El mecanismo sendfile evita operaciones separadas de lectura y envío, y reservas de buffer. Sin embargo, en algunas plataformas o en algunos sistemas de ficheros, es mejor desactivar esa funcionalidad para evitar problemas operacionales:
DocumentRoot está
    montado en red (por ejemplo, NFS o SMB), el kernel puede que no
    sea capaz de servir el fichero de red a través de su
    cache.Para configuraciones del servidor que son sensibles a estos problemas, debe desactivar esta funcionalidad especificando:
      EnableSendfile Off
    
Para archivos montados en NFS o SMB, esta funcionalidad puede ser desactivada explícitamente para los ficheros que puedan ocasionar problemas mediante:
      <Directory "/path-to-nfs-files">
      
        EnableSendfile Off
      
      </Directory>
    
| Descripción: | Es lo que el servidor devuelve al cliente si se produce algún error | 
|---|---|
| Sintaxis: | ErrorDocument error-code
document | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | El uso de las comillas (") en los mensajes de texto es diferente en Apache 2.0 | 
En el caso de que aparezca un problema o error, puede configurar Apache para hacer una de las siguientes cuatro cosas,
La primera opción es la que se usa por defecto, mientras
    que el resto se pueden configurar usando la directiva
    ErrorDocument, la cual ha de seguirse del
    código de respuesta HTTP y una URL o un mensaje. Apache
    ofrece a veces otra información adicional sobre el problema o
    error.
Las URLs pueden empezar por una barra (/) para URLs locales, o pueden ser una URL completa que el cliente pueda resolver. También se puede hacer que el nevagador despliegue un mensaje. Ejemplos:
      ErrorDocument 500 http://foo.example.com/cgi-bin/tester
      ErrorDocument 404 /cgi-bin/bad_urls.pl
 
      ErrorDocument 401 /subscription_info.html
 
      ErrorDocument 403 "Lo sentimos no  podemos permitirle el acceso a esta página hoy"
    
Adicionalmente, el valor especial default puede
    ser usado para que Apache use los mensajes literales que trae por
    defecto. Aunque bajo circunstancias normales no es necesario,
    default restaura los mensajes literales de Apache en
    configuraciones que de otra manera heredan una directiva
    ErrorDocument ya existente.
      ErrorDocument 404 /cgi-bin/bad_urls.pl
      <Directory /web/docs>
      
        ErrorDocument 404 default
      
      </Directory>
    
Tenga en cuenta que si usted especifica en
    ErrorDocument un contenido que apunta a una
    URL remota (por ejemplo, cualquier cosa que empiece por
    http), Apache redireccionará al cliente, incluso
    si al final, el documento al que redirecciona está en el
    mismo servidor. Esto tiene varias implicaciones, la más
    importante es que el cliente no recibirá el código de
    error original, sino que en su lugar recibirá el código
    de estado del redireccionamiento. Esto puede confundir a los
    robots web y otros clientes que tratan de determinar si una URL es
    válida usando el código de estado. Además, si usa
    una URL remota en un ErrorDocument 401, el cliente no
    sabrá pedir contraseñas al usuario porque no
    recibirá el código de estado 401. Por tanto, si
    usa una directiva ErrorDocument 401 entonces
    debe referirse a un documento local.
Microsoft Internet Explorer (MSIE) ignorará por defecto los mensajes de error generados por el servidor cuando sean "demasiado pequeños" y los sustituirá por mensajes de error propios. El tamaño se considera pequeño según el tipo de error de que se trate, pero en general, si su mensaje de error es de más de 512 bytes, MSIE mostrará en mensaje del error generado por el servidor y no el suyo. Puede encontrar más información sobre este asunto en el artículo de la Base de Datos de Conocimiento de Microsoft Q294807.
En las versiones de Apache anteriores a la 2.0, los mensajes se indicaban añadiendoles dobles comillas (") al principio que no se cerraban al final del mensaje.
| Descripción: | Ubicación del fichero en el que se almacenan los mensajes de error | 
|---|---|
| Sintaxis: |  ErrorLog file-path|syslog[:facility] | 
| Valor por defecto: | ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows y OS/2) | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
La directiva ErrorLog determina el
    nombre del fichero en el cual el servidor almacenará los
    mensajes de error en caso de que ocurra alguno. Si el
    file-path no es absoluto, entonces se asume que es
    relativo al valor especificado en la directiva ServerRoot.
    ErrorLog /var/log/httpd/error_log
    
Si el file-path empieza con un barra vertical (|) entonces se asume que es un comando para procesar el registro de errores (error_log).
    ErrorLog "|/usr/local/bin/httpd_errors"
    
Usar syslog en lugar de un nombre de fichero
    permite almanecer los mesajes mediante syslogd(8) si el sistema lo
    soporta. Por defecto se usa la utilidad de syslog
    local7, pero puede cambiar esto usando
    syslog:facility donde facility
    es cualquiera de los nombres normalmente documentados en
    syslog(1).
    ErrorLog syslog:user
    
SEGURIDAD: Consulte la sección consejos sobre seguridad para obtener más información sobre cómo se compromete la seguridad de su sistema si sobre el directorio en que se almacenan los ficheros log tiene permisos cualquier usuario que no sea únicamente el que arranca el servidor.
Cuando se especifica una ruta a un fichero en una plataforma que no es Unix, hay que tener cuidado de usar solo barras (/) aunque el sistema permita barras invertidas (\). En general, lo mejor es usar siempre barras / en los ficheros de configuración.
| Descripción: | Atributos de fichero usados para crear la ETAG de la cabecera de respuesta HTTP | 
|---|---|
| Sintaxis: | FileETag component ... | 
| Valor por defecto: | FileETag INode MTime Size | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
    La directiva FileETag configura los
    atributos de fichero que se usan para crear la ETag
    (etiqueta de entidad) del campo cabecera de respuesta cuando el
    documento está basado en un fichero. (El valor de
    ETag se usa en la gestión de cache para ahorrar
    ancho de banda.) En Apache 1.3.22 y en versiones anteriores, el
    valor de ETag se formaba siempre a partir
    del inodo del fichero, su tamaño y la hora y la fecha en que
    se modificó por última vez (mtime). La directiva
    FileETag permite elegir cuál de esos
    elementos quiere usar -- si es que se quiere usar alguno. Las
    palabras clave reconocidas son:
    
FileETag INode MTime Size
ETag será incluido en la respuestaLas palabras clave INode, MTime, y
    Size pueden ir precedidas por + o
    -, lo cual permite hacer cambios en la configuración
    heredada de un ámbito más amplio. Cualquier palabra clave que
    aparezca sin un prefijo cancela inmediatamente la configuración
    heredada.
Si la configuración para un directorio incluye
    FileETag INode MTime Size, y la de un subdirectorio
    incluye FileETag -INode, la configuración para
    ese subdirectorio (que será heredada por cualquier
    subdirectorio que no tenga un configuración propia) será
    equivalente a FileETag MTime Size.
| Descripción: | Contiene directivas que se aplican a los ficheros cuyos nombres coincidan con los que se especifiquen | 
|---|---|
| Sintaxis: | <Files filename> ... </Files> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | All | 
| Estado: | Core | 
| Módulo: | core | 
La directiva <Files> limita el ámbito de aplicación de las directivas que incluye según el nombre de los ficheros. Es
    comparable a <Directory> y <Location>. Debe cerrarse con </Files>. Las directivas usadas en
    esta sección se aplicarán a cualquier objeto con un nombre base
    (último componente del nombre de fichero) que coincida con el nombre de fichero especificado. Las
    secciones <Files> se
    procesan en el orden en que aparecen en el fichero de
    configuración, después de las secciones <Directory> y de leer los
    ficheros .htaccess, pero antes de las secciones
    <Location>. Tenga en cuenta que las directivas <Files>
    pueden anidarse dentro de las secciones <Directory> para restringir la parte del
    sistema de ficheros a la que se aplican.
El argumento filename puede incluir un nombre de
    fichero, o una cadena de carácteres comodín, donde ?
    equivale a cualquier carácter individual, y *
    equivale a cualquier secuencia de caracteres. También pueden
    usarse expresiones regulares extendidas, con la ventaja de que
    tambien se puede usar el carácter ~. Por
    ejemplo:
      <Files ~ "\.(gif|jpe?g|png)$">
    
equivaldría a la mayoría de los formatos gráficos de
    Internet. No obstante, es mejor usar <FilesMatch>.
Tenga en cuenta que a diferencia de las secciones <Directory> y <Location>, las secciones
    <Files> pueden usarse dentro
    de los ficheros .htaccess. Esto permite a los
    usuarios controlar el acceso a sus propios archivos, a un nivel de
    fichero a fichero.
| Descripción: | Contiene las directivas que se aplican a los ficheros cuyos nombres equivalen a las expresiones regulares que se especifiquen | 
|---|---|
| Sintaxis: | <FilesMatch regex> ... </FilesMatch> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
La directiva <FilesMatch>
    limita el rango de las directivas incluidas según el nombre de los
    ficheros, como hace la directiva <Files>. Sin embargo, acepta
    expresiones regulares. Por ejemplo:
      <FilesMatch "\.(gif|jpe?g|png)$">
    
equivaldría a la mayoría de los formatos gráficos de Internet.
| Descripción: | Hace que todos los ficheros cuyos nombres tengan una equivalencia con con lo que se especifique sean servidos como contenido del tipo MIME que se establezca | 
|---|---|
| Sintaxis: | ForceType MIME-type|None | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Perteneciente al núcleo del servidor a partir de la versión de Apache 2.0 | 
Cuando se usa en un fichero .htaccess o en una
    sección <Directory>, <Location> o <Files>, esta directiva hace que todos los
    ficheros cuyos nombres guarden una equivalencia con lo
    especificado sean servidos como contenido
    MIME-type. Por ejemplo, si tiene un directorio lleno de
    ficheros GIF, pero no quiere etiquetarlos con .gif,
    puede usar:
      ForceType image/gif
    
Tenga en cuenta que a diferencia de DefaultType, esta directiva prevalece sobre
    todas las asociaciones de tipo MIME, incluidas las extensiones de
    nombre de fichero que puedan identificar de qué tipo es un fichero.
Puede hacer que ForceType no prevalezca sobre el resto de directivas usando el valor None:
      # forzar a todos los tipos de fichero a ser tratados como imagen/gif:
      <Location /images>
        
          ForceType image/gif
        
      </Location>
      
      # pero permitir la asociación de tipos MIME normal aquí:
      <Location /images/mixed>
      
        ForceType None
      
      </Location>
    
| Descripción: | Activa la resolución de DNS de las direcciones IP de los clientes | 
|---|---|
| Sintaxis: | HostnameLookups On|Off|Double | 
| Valor por defecto: | HostnameLookups Off | 
| Contexto: | server config, virtual host, directory | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva activa la resolución de DNS de manera que
    los nombres de host puedan ser guardados en los archivos log (y
    pasados a CGIs/SSIs en REMOTE_HOST).  El valor
    Double se refiere a hacer una busqueda de DNSs
    inversa doble. Esto es, después de hacer una busqueda
    inversa, se hace una busqueda normal posteriormente sobre ese
    resultado. Al menos una de las direcciones IP en la búsqueda
    posterior debe equivaler a la dirección IP original. (En
    terminología de "tcpwrappers" se llama
    PARANOID.)
Independientemente de lo que se especifique, cuando
    mod_access se usa para controlar el acceso por
    nombre de host, se hará una consulta inversa doble.  Esto se
    hace por seguridad. Tenga en cuenta que el resultado de una
    busqueda inversa doble no está disponible generalmente a no
    ser que especifique HostnameLookups Double. Por
    ejemplo, si especifica solo HostnameLookups On y se
    hace una petición a un objeto protegido por restricciones de
    nombre de host, independientemente de si la consulta inversa doble
    falla o no, el resultado de la consulta inversa simple se
    pasará a los CGIs en REMOTE_HOST.
El valor por defecto es Off para ahorrar
    tráfico de red en aquellos sitios web que realmente no
    necesitan hacer búsquedas inversas dobles. También es
    mejor para los usuarios finales porque no tienen que sufrir el
    retardo adicional que introducen las búsquedas.  Los sitios
    web con mucha carga deben usar en esta directiva el valor
    Off, porque las búsquedas de DNSs pueden
    consumir una cantidad de tiempo considerable. La utilidad
    logresolve, compilada por defecto en el
    subdirectorio bin de su directorio de
    instalación, puede usarse más tarde para buscar nombres
    de host en direcciones IP que estén en los logs cuando no
    esté en línea.
| Descripción: | Activa que se registre en los archivos log la entidad RFC1413 del usuario remoto | 
|---|---|
| Sintaxis: | IdentityCheck On|Off | 
| Valor por defecto: | IdentityCheck Off | 
| Contexto: | server config, virtual host, directory | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva permite el almacenamiento en logs, según se especifica en el RFC1413, del nombre de usuario remoto para casda conexión cuando la máquina del cliente corra "identd" o un programa similar. Esta información se registra en el log de acceso.
La información que se registra con este procedimiento no debe ser considerada como fiable excepto para controles rudimentarios.
Tenga en cuenta que esto puede provocar serios problemas de retardo en los accesos a su servidor porque para cada petición hay que ejecutar una consulta de este tipo. Cuando hay firewalls involucrados, cada búsqueda puede probablemente fallar y añadir 30 segundos de retardo cada vez que se intenta un acceso. De modo que en general, su uso no es muy útil en servidores públicos accesibles desde Internet.
| Descripción: | Engloba directivas que serán procesadas solo si se cumple una determinada condición al iniciar el servidor | 
|---|---|
| Sintaxis: | <IfDefine [!]parameter-name> ...
    </IfDefine> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | All | 
| Estado: | Core | 
| Módulo: | core | 
La sección <IfDefine
    test>...</IfDefine>  se usa para marcar
    directivas que son condicionales. Las directivas que hay dentro de
    una sección <IfDefine> se
    procesan solo si test devuelve un resultado
    positivo. Si el  test produce un resultado negativo,
    todo lo que haya entre los marcadores de comienzo y final
    será ignorado.
El test en la sección de directivas <IfDefine> puede tomar una de las
    siguientes dos formas:
!parameter-nameEn el primer caso, las directivas entre los marcadores de comienzo y final se procesan solo si el parámetro llamado parameter-name está definido. El segundo formato hace lo contrario, y procesa las directivas solo si parameter-name no está definido.
El argumento parameter-name se define cuando se
    ejecuta httpd por la línea de comandos con la opción
    -Dparameter, al iniciar el servidor.
Las secciones <IfDefine>
    son anidables, lo cual puede usarse para implementar tests
    simples con varios parámetros. Ejemplo:
      httpd -DReverseProxy ...
      
      # httpd.conf
      <IfDefine ReverseProxy>
      
        LoadModule rewrite_module modules/mod_rewrite.so
        LoadModule proxy_module   modules/libproxy.so
      
      </IfDefine>
    
| Descripción: | Engloba directivas que se procesan de forma condicional según esté presente o ausente un módulo específico | 
|---|---|
| Sintaxis: | <IfModule [!]module-name> ...
    </IfModule> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
La sección <IfModule
    test>...</IfModule> se usa para marcar
    las directivas que se aplican si está presente un módulo
    específico. Las directivas dentro de una sección <IfModule> solo se procesan si el
    test produce un resultado positivo. Si el test da falso, todo
    lo que haya entre los marcadores de inicio y final es
    ignorado.
El test de las secciones <IfModule> puede tomar una de las siguientes
    formas:
En el primer caso, las directivas entre los marcadores de
    comienzo y final son procesados solo si el módulo llamado
    module name está incluido en Apache -- ya sea
    porque está compilado en el servidor o porque esté
    cargado dinámicamente usando LoadModule. El segundo formato hace lo contrario, y
    solo se procesan las directivas si el módulo module
    name no está incluido.
El argumento module name es  el nombre del fichero del
    módulo en el momento en que fue compilado. Por ejemplo,
    mod_rewrite.c.  Si un módulo consiste en varios
    archivos fuente, use el nombre del fichero que contenga la cadena
    de caracteres STANDARD20_MODULE_STUFF.
Las secciones <IfModule>
    son anidables, lo cual puede usarse para implementar tests simples
    con varios módulos.
<IfModule>.| Descripción: | Incluye otros ficheros de configuración dentro de los ficheros de configuración del servidor | 
|---|---|
| Sintaxis: | Include file-path|directory-path | 
| Contexto: | server config, virtual host, directory | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Se pueden usar caracteres comodín para encontrar equivalencias en las versiones de Apache 2.0.41 y posteriores | 
Esta directiva permite la inclusión de otros ficheros de configuración dentro de los ficheros de configuración del servidor.
Los caracteres comodín de tipo shell (fnmatch())
    pueden usarse para incluir varios ficheros de una vez por orden
    alfabético. Además, si Include apunta a un
    directorio, en lugar de a un fichero, Apache leerá todos los
    ficheros en ese directorio y sus subdirectorios. Sin embargo, no se
    recomienda incluir subdirectorios enteros, porque es fácil dejar
    accidentalmente ficheros temporales en un directorio y esto
    provocará que httpd aborte.
La ruta del fichero especificada puede ser absoluta, o relativa
    a un directorio respecto al valor especificado en ServerRoot.
Ejemplos:
      Include /usr/local/apache2/conf/ssl.conf
      Include /usr/local/apache2/conf/vhosts/*.conf
    
O especificando rutas relativas al directorio ServerRoot:
      Include conf/ssl.conf
      Include conf/vhosts/*.conf
    
Si ejecuta apachectl configtest le aparecerá
    una lista con los ficheros que están siendo procesados
    durante la comprobación de la configuración:
      root@host# apachectl configtest
      Processing config file: /usr/local/apache2/conf/ssl.conf
      Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf
      Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf
      Syntax OK
    
| Descripción: | Permite que se establezcan conexiones HTTP persistentes | 
|---|---|
| Sintaxis: | KeepAlive On|Off | 
| Valor por defecto: | KeepAlive On | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
La extensión Keep-Alive de HTTP/1.0 y la funcionalidad de
    conexión persistente de HTTP/1.1 facilitan la posibilidad de
    que se establezcan sesiones HTTP de larga duración que
    permiten que se puedan enviar múltiples peticiones sobre la
    misma conexión TCP. En algunos casos, esto tiene como
    resultado una reducción de casi el 50% en los tiempos de
    retardo en el caso de documentos con muchas imágenes. Para
    activar las conexiones Keep-Alive, especifique KeepAlive
    On.
Para clientes HTTP/1.0, las conexiones Keep-Alive se usarán solo si el cliente lo solicita específicamente. Además, una conexión Keep-Alive con un cliente HTTP/1.0 puede usarse solo cuando el tamaño del contenido es conocido con antelación. Esto implica que el contenido dinámico, como puede ser el resultado de un CGI, páginas SSI y listados de directorios generados por el servidor, no usarán por lo general conexiones Keep-Alive para clientes HTTP/1.0. Para clientes HTTP/1.1, las conexiones persistentes son las que se usan por defecto a no ser que se especifique lo contrario. Si el cliente lo solicita, se usará @@@@@ chunked encoding @@@@@ para enviar contenido de tamaño desconocido sobre conexiones persistentes.
| Descripción: | Tiempo que el servidor esperará peticiones subsiguientes en conexiones persistentes | 
|---|---|
| Sintaxis: | KeepAliveTimeout seconds | 
| Valor por defecto: | KeepAliveTimeout 15 | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
Es el tiempo en segundos que Apache esperará peticiones
    subsiguientes antes de cerrar una conexión persistente. Una
    vez que una petición ha sido recibida, se aplica el valor
    especificado en la directiva Timeout para cerrar la
    conexión.
Espeficificar un valor alto para
    KeepAliveTimeout puede provocar un menor
    rendimiento en servidores con mucha carga. Cuanto mayor sea el
    valor de timeout, mayor será el número de procesos del
    servidor se mantendrán ocupados esperando en conexiones con
    clientes no activos.
| Descripción: | Restringe la aplicación de los controles de acceso incluidos a solo ciertos métodos HTTP | 
|---|---|
| Sintaxis: | <Limit method [method] ... > ...
    </Limit> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
Los controles de acceso se aplican normalmente a
    todos los métodos de acceso, y este es el
    comportamiento que se busca casi siempre. En general, las
    directivas de control de acceso no deben estar dentro de una
    sección <Limit>.
El propósito <Limit>
    es restringir el efecto de los controles de acceso a los
    métodos HTTP que se especifiquen. Para los demás
    métodos, las restricciones de acceso que estén incluidas
    en <Limit> no
    tendrán efecto. Los siguientes ejemplos aplican el
    control de acceso solo a los métodos POST,
    PUT, y DELETE, no afectando al resto de
    métodos:
      <Limit POST PUT DELETE>
      
        Require valid-user
      
      </Limit>
    
Los métodos incluidos en la lista pueden ser uno o
    más de los siguientes: GET,
    POST, PUT, DELETE,
    CONNECT, OPTIONS, PATCH,
    PROPFIND, PROPPATCH, MKCOL,
    COPY, MOVE, LOCK, y
    UNLOCK. Los nombres de los métodos
    distinguen mayúsculas de minúsculas. Si usa
    GET también se restringirán las peticiones
    HEAD. El método TRACE no puede
    limitarse.
<LimitExcept> en lugar de
    una sección <Limit> cuando se quiere restringir el
    acceso, porque una sección <LimitExcept> protege contra métodos
    arbitrarios.| Descripción: | Restringe los controles de acceso a todos los métodos HTTP excepto a los que se especifiquen | 
|---|---|
| Sintaxis: | <LimitExcept method [method] ... >
    ...  </LimitExcept> | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
<LimitExcept> y
    </LimitExcept> se usan para englobar un grupo
    de directivas de control de acceso que se aplicarán a
    cualquier método de acceso HTTP no
    especificado en los argumentos; es lo contrario a lo
    que hace una sección <Limit> y puede usarse para controlar
    tanto métodos estándar como no estándar o
    métodos no reconocidos. Consulte la documentación de
    <Limit> para
    más detalles.
Por ejemplo:
      <LimitExcept POST GET>
      
        Require valid-user
      
      </LimitExcept>
    
| Descripción: | Determina el número máximo de redirecciones internas y subpeticiones anidadas | 
|---|---|
| Sintaxis: | LimitInternalRecursion number [number] | 
| Valor por defecto: | LimitInternalRecursion 10 | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Disponible en las versiones Apache 2.0.47 y posteriores | 
Una redirección interna ocurre, por ejemplo, cuando se usa
    la directiva Action,
    la cual internamente redirige la petición original a un
    script CGI. Una subpetición es un mecanismo de Apache para
    saber qué ocurriría si se produjera una petición a
    una URI.  Por ejemplo, mod_dir usa subpeticiones
    para buscar archivos especificados en la directiva DirectoryIndex.
LimitInternalRecursion hace que el
    servidor no sufra un error irrecuperable cuando entra en un ciclo
    infinito de redirecciones internas o subpeticiones. Tales ciclos
    se producen normalmente por errores de configuración.
La directiva guarda dos límites diferentes, los cuales se evalúan en para cada petición. El primer número es el número máximo de redirecciones internas, que pueden producirse una detrás de otra. El segundo número determina, la profundidad a la que subpeticiones pueden anidarse. Si especifica solo un número, se asignará a ambos límites.
      LimitInternalRecursion 5
    
| Descripción: | Restringe el tamaño total del cuerpo de las peticiones HTTP enviadas desde el cliente | 
|---|---|
| Sintaxis: | LimitRequestBody bytes | 
| Valor por defecto: | LimitRequestBody 0 | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica el número de bytes desde 0 (que significa sin límite) hasta 2147483647 (2GB) que se permite que tenga el cuerpo de una petición.
La directiva LimitRequestBody permite al
    usuario especificar un límite al tamaño del cuerpo del
    mensaje de las peticiones dentro del contexto en el que la
    directiva aparece (server, per-directory, per-file o
    per-location). Si la petición del cliente excede ese
    límite, el servidor devolverá una respuesta de error en
    lugar de servir la petición. El tamaño del cuerpo del
    mensaje de una petición normal varía mucho en
    función de la naturaleza del recurso y los métodos
    permitidos para ese recurso. Los scripts CGI usan normamente el
    cuerpo del mensaje para acceder la información de formularios
    HTML.  Las implementaciones del método PUT
    requerirán un valor al menos del mismo tamaño que
    cualquier representación que el servidor desee aceptar para
    ese recurso.
Esta directiva le da al administrador del servidor un mayor control sobre el comportamiento anormal de peticiones de clientes, lo cual puede ser útil para evitar algunos tipos de ataques de denegación de servicio.
Si, por ejemplo, permite que se suban archivos a una ubicación en concreto, y quiere limitar el tamaño de los ficheros que se suban a 100K, puede usar la siguiente directiva:
      LimitRequestBody 102400
    
| Descripción: | Limita el número de campos de la cabecera de las peticiones HTTP del cliente que serán aceptadas | 
|---|---|
| Sintaxis: | LimitRequestFields number | 
| Valor por defecto: | LimitRequestFields 100 | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
Number es un entero entre 0 (sin límite) hasta
    32767. El valor por defecto se define por la constante
    DEFAULT_LIMIT_REQUEST_FIELDS al compilar (y es de 100
    campos para la cabecera).
La directiva LimitRequestFields permite
    al administrador del servidor modificar el límite del
    número de campos de la cabecera permitidos en una
    petición HTTP. Este valor tiene que ser mayor que el
    número de campos que tiene la cabecera de una petición
    normal de un cliente. El número de campos de la cabecera de
    una petición usados por un cliente raramente pasa de 20, pero
    esto puede variar según las diferentes implementaciones, a
    menudo dependiendo incluso de la configuración que un usuario
    haya hecho de su navegador para soportar negociación de
    contenidos detallada. Las extensiones opcionales de HTTP se
    expresan muchas veces usando campos de cabecera de
    petición.
Esta directiva le da al administrador del servidor un mayor control sobre el comportamiento anormal de peticiones de clientes, lo cual puede ser útil para evitar algunos tipos de ataques de denegación de servicio. Debe incrementar el valor que se especifica en esta directiva si a los clientes normales les llegan mensajes de error que indican que se han enviado demasiados campos de cabecera en la petición.
Por ejemplo:
      LimitRequestFields 50
    
| Descripción: | Limita el tamaño permitido de las cabeceras de las peticiones HTTP de los clientes | 
|---|---|
| Sintaxis: | LimitRequestFieldsize bytes | 
| Valor por defecto: | LimitRequestFieldsize 8190 | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica el número de bytes
    desde 0 hasta el valor de la constante definida al compilar
    DEFAULT_LIMIT_REQUEST_FIELDSIZE (8190 por defecto)
    que será permitido para una cabecera de las peticiones
    HTTP.
La directiva LimitRequestFieldSize
    permite al administrador del servidor reducir el límite del
    tamaño permitido de una cabecera de las peticiones HTTP por
    debajo del tamaño del buffer de entrada compilado en el
    servidor. Este valor tiene que ser lo suficientemente grande para
    que no quede por debajo del tamaño normal de una cabecera de
    petición de un cliente. El tamaño de una cabecera de una
    petición varía mucho en función de la
    implementación del cliente, a menudo depende incluso de la
    configuración del navegador que haya hecho el usuario para
    soportar negociación de contenido detallada.
Esta directiva le da al administrador del servidor un mayor control sobre el comportamiento anormal de peticiones de clientes, lo cual puede ser útil para evitar algunos tipos de ataques de denegación de servicio.
Por ejemplo:
      LimitRequestFieldSize 4094
    
| Descripción: | Limita el tamaño la línea de petición HTTP que será aceptada | 
|---|---|
| Sintaxis: | LimitRequestLine bytes | 
| Valor por defecto: | LimitRequestLine 8190 | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva especifica el número de bytes de
    0 hasta el valor de la constante definida al compilar
    DEFAULT_LIMIT_REQUEST_LINE ( @@@@ 8190 as distributed @@@@ ) que
    se permitirá para la línea de petición HTTP.
La directiva LimitRequestLine permite al
    administrador del servidor reducir el límite de tamaño
    permitido de la línea de petición de las peticiones HTTP
    de los clientes por debajo del tamaño del buffer de entrada
    compilado con el servidor. Como la línea de petición
    consiste en el método HTTP, la URI y la versión del
    protocolo, la directiva LimitRequestLine
    impone una restricción en la longitud de la URI de la
    petición permitida por el servidor. Este valor tiene que ser
    lo suficientemente grande como para que admita el tamaño de
    sus nombres de recurso, incluida la información que puede
    ser pasada como parte de consulta de una petición
    GET.
Esta directiva le da al administrador del servidor un mayor control sobre el comportamiento anormal de peticiones de clientes, lo cual puede ser útil para evitar algunos tipos de ataques de denegación de servicio.
Por ejemplo:
      LimitRequestLine 4094
    
| Descripción: | Limita el tamaño del cuerpo de una petición XML | 
|---|---|
| Sintaxis: | LimitXMLRequestBody bytes | 
| Valor por defecto: | LimitXMLRequestBody 1000000 | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | All | 
| Estado: | Core | 
| Módulo: | core | 
Límite (en bytes) o tamaño máximo del cuerpo de una petición
    basada en XML. Si se especifica el valor 0 se
    desactiva este control.
Ejemplo:
      LimitXMLRequestBody 0
    
| Descripción: | Aplica las directivas que contiene solo a las URLs que tengan una equivalencia con los valores que se especifiquen | 
|---|---|
| Sintaxis: | <Location
    URL-path|URL> ... </Location> | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
Una sección <Location>
    aplica las directivas que contiene según la URL de que se
    trate. Es parecida a la directiva <Directory>, y tiene que terminar con una
    directiva </Location>. Las secciones <Location> se procesan en el orden en que
    aparecen en el fichero de configuración, después de leer
    las secciones <Directory> y los ficheros
    .htaccess, y después de las secciones <Files>.
Las secciones <Location>
    operan completamente fuera del sistema de ficheros.  Esto tiene
    varias consecuencias. La más importante, es que las
    directivas <Location> no deben
    usarse para controlar el acceso a ubicaciones del sistema de
    ficheros. Como diferentes URLs pueden corresponderse con una misma
    ubicación de un sistema de ficheros, tales controles de
    acceso pueden ser burlados.
<Location>Use <Location> para aplicar
    las directivas que va a incluir a contenido que está fuera
    del sistema de ficheros.  Para el contenido que esté en el
    sistema de ficheros, use <Directory> y <Files>.  Una excepción a esto es el
    uso de <Location />, que es un modo fácil
    de aplicar una configuración a un servidor entero.
Para todas las peticiones que no provengan de servidores proxy,
    la URL de la que se buscan equivalencias es una ruta URL de la
    forma /path/.  Ningún esquema, nombre de host,
    puerto o cadena de consulta puede incluirse.  Para peticiones
    provenientes de servidores proxy, la URL de la que se buscan
    euivalencias es de la forma scheme://servername/path,
    y debe incluir el prefijo.
La URL puede usar caracteres comodín. En una cadena de
    caracteres comodín, ? equivale a cualquier
    carácter, y * equivale a cualquier secuencia de
    caracteres.
También pueden usarse expresiones regulares extendidas,
    con el carácter adicional ~. Por ejemplo:
      <Location ~ "/(extra|special)/data">
    
equivaldrá a las URLs que contengan la subcadena
    /extra/data o /special/data. La
    directiva <LocationMatch> se comporta de igual modo
    que la versión de regex de <Location>.
El uso de <Location> es
    especialmente útil cuando se combina con la directiva
    SetHandler. Por ejemplo, para
    permitir peticiones de status, pero solo de navegadores que
    intenten acceder a foo.com, puede usar:
      <Location /status>
      
        SetHandler server-status
        Order Deny,Allow
        Deny from all
        Allow from .foo.com
      
      </Location>
    
El
      carácter de la barra tiene un significado especial
      dependiendo del lugar donde aparece en una URL. Los usuarios
      puede estar no estar acostumbrada a que la barra tenga distintos
      significados, por ejemplo, en los sistemas de ficheros, varias
      barras consecutivas tienen el mismo significado que una sola
      barra (por ejemplo, /home///foo es lo mismo que
      /home/foo). Para las URL's esto no se cumple.  La
      directiva <LocationMatch> y la versión de
      regex de <Location>
      requieren que se especifiquen explícitamente múltiples
      barras solo si esa es su intención.
Por ejemplo, <LocationMatch ^/abc>
      podría equivaler a la petición de la URL
      /abc pero no a la petición de la URL 
      //abc. La directiva (no regex) <Location> se comporta de manera similar cuando se
      usa para peticiones provenientes de servidores proxy. Sin
      embargo, cuando la directiva (no regex) <Location> se usa para peticiones no
      provenientes de servidores proxy, a efectos de encontrar
      equivalencias, múltiples barras equivaldrán a una
      sola. Por ejemplo, si especifica <Location
      /abc/def> y la petición es a
      /abc//def se producirá equivalencia.
| Descripción: | Aplica las directiva que incluye solo a las URLs que tengan equivalencia con alguna de las expresiones regulares que se especifiquen | 
|---|---|
| Sintaxis: | <LocationMatch
    regex> ... </LocationMatch> | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
La directiva <LocationMatch> limita la aplicación
    de las directivas que incluye a URLs que tengan equivalencia con
    alguna de las expresiones regulares que se especifican, de manera
    idéntica a como lo hace <Location>. Sin embargo, toma las
    expresiones regulares como argumentos en lugar de como una cadena
    de caracteres. Por ejemplo:
      <LocationMatch "/(extra|special)/data">
    
equivaldría a las URLs que contengan la subcadena
    /extra/data ó /special/data.
| Descripción: | Controla la extensión de los mensajes que se almacenan en el ErrorLog | 
|---|---|
| Sintaxis: | LogLevel level | 
| Valor por defecto: | LogLevel warn | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
LogLevel especifica el nivel al que se
    detallan los errores que se almacenan en los logs de errores
    (consulte la directiva ErrorLog). Los niveles
    (levels) disponibles son, por orden decreciente:
| Level | Description | Example | 
|---|---|---|
| emerg | Emergencias - sistema inutilizable. | "Un proceso hijo no puede abrir el fichero de lock (lock file). El programa va a terminar" | 
| alert | Debe hacer algo inmediatamente. | "getpwuid: no pudo determinar el nombre de usuario a partir del uid" | 
| crit | Condiciones críticas. | "socket: No se encontró un socket adecuado, el proceso hijo va a terminar" | 
| error | Condiciones de error. | "Final prematuro de la cabecera del script"" | 
| warn | Condiciones de advertencia. | "el proceso hijo 1234 no ha terminado, enviando otra vez SIGHUP" | 
| notice | Condición normal, pero significativa. | "httpd: interceptada señal SIGBUS, intentando hacer un volcado de memoria en ..." | 
| info | Información. | "El servidor parece estar ocupado, (puede que necesite incrementar StartServers, o Min/MaxSpareServers)..." | 
| debug | Mensajes de nivel debug | "Abriendo el fichero de configuración ..." | 
Cuando se especifica un determinado nivel, se escriben en el
    log también los mensajes de todos los demás niveles por
    encima.  Por ejemplo, cuando se especifica LogLevel
    info, también se escribirán en el log los
    mensajes de los niveles notice y
    warn.
Se recomienda usar, al menos, el nivel crit.
Por ejemplo:
      LogLevel notice
    
Cuando el fichero log es un fichero
      normal y se escriben en el mensajes de nivel
      notice, estos mensajes no podrán ser
      borrados. Sin embargo, esto no se aplica cuando se usa
      syslog.
| Descripción: | Número de peticiones permitidas en una conexión persistente | 
|---|---|
| Sintaxis: | MaxKeepAliveRequests number | 
| Valor por defecto: | MaxKeepAliveRequests 100 | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
La directiva MaxKeepAliveRequests limita
    el número de peticiones permitidas por conexión cuando
    KeepAlive está
    activado. Si se especifica el valor 0, el número
    de peticiones permitidas es ilimitado. Se recomienda que en esta
    directiva se especifique un valor alto para obtener el máximo
    rendimiento del servidor.
Por ejemplo:
      MaxKeepAliveRequests 500
    
| Descripción: | Designa una dirección IP para usar hosting virtual basado en nombres | 
|---|---|
| Sintaxis: | NameVirtualHost addr[:port] | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
Es necesario usar la directiva
    NameVirtualHost es necesario usarla si
    quiere configurar hosts virtuales basados en
    nombres.
Aunque addr puede ser un nombre de host, se recomienda que use siempre una dirección IP, por ejemplo:
      NameVirtualHost 111.22.33.44
    
Con la directiva NameVirtualHost se
    especifica la dirección IP en la cual el servidor
    recibirá las peticiones para los hosts virtuales basados en
    nombres. Bsta será normalmente la dirección a la cual su
    host virtual basado en nombres se resuelve. En los casos en que en
    las peticiones las recibe un firewall (cortafuegos) o un proxy y
    las redirige a una dirección IP diferente del servidor, debe
    especificar la dirección IP del adaptador de red físico
    de la máquina que servirá las peticiones. Si tiene
    múltiples hosts basados en nombres o múltiples
    direcciones, repita la directiva para cada dirección.
Tenga en cuenta, que el "servidor principal" y cualquier
      servidor _default_ nunca
      servirán una petición a un dirección IP
      NameVirtualHost (a menos que por alguna
      razón use NameVirtualHost pero no
      especifique ningún VirtualHost para
      esa dirección).
De manera opcional puede especificar un número de puerto en el que debe usarse el host virtual basado en el nombre, por ejemplo
      NameVirtualHost 111.22.33.44:8080
    
Las direcciones IPv6 deben escribirse entre corchetes, como se muestra en el siguiente ejemplo:
      NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
    
Para recibir peticiones en todas las interfaces de red, puede
    usar * como argumento
      NameVirtualHost *
    
<VirtualHost>Tenga en cuenta que el argumento de la directiva <VirtualHost> debe coincidir
       exactamente con el de la directiva NameVirtualHost.
        NameVirtualHost 1.2.3.4
        <VirtualHost 1.2.3.4>
        # ...
        </VirtualHost>
      
| Descripción: | Configura las funcionalidades disponibles en un directorio en particular | 
|---|---|
| Sintaxis: | Options
    [+|-]option [[+|-]option] ... | 
| Valor por defecto: | Options All | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Options | 
| Estado: | Core | 
| Módulo: | core | 
La directiva Options controla qué
    funcionalidades del servidor están disponibles en un
    directorio en particular.
En option puede especificar None, en
    cuyo caso ninguna funcionalidad adicional estará activada, o
    puede especificar una o más de las siguientes opciones:
AllMultiViews. Este es
      el valor por defecto.ExecCGImod_cgi.FollowSymLinksAunque el servidor siga los enlaces simbólicos, eso
      no cambia la ruta usada para encontrar equivalencias en
      las secciones <Directory>.
Tenga en cuenta
      también que esta opción es ignorada si está
      dentro de una sección <Location>.
Includesmod_include.IncludesNOEXEC#exec cmd
      y #exec cgi son desactivados. Aunque es posible
      #include virtual (incluir de forma virtual) scripts
      CGI desde directorios especificados con ScriptAlias.IndexesDirectoryIndex
      (por ejemplo, index.html) en ese directorio,
      entonces mod_autoindex devolverá una lista con
      los contenidos del directorio.MultiViewsmod_negotiation.SymLinksIfOwnerMatch<Location>.Normalmente, si se pueden aplicar múltiples
    Options a un directorio, entonces la
    más específica se aplica y las demás se ignoran;
    las opciones no se fusionan. (Consulte cómo se fusionan las
    secciones.)  Sin embargo, si todas las opciones en la
    directiva Options van precedidas de un
    símbolo + o -, las opciones se
    fusionan. Cualquier opción precedida de un + se
    añade a las opciones en ese momento activas, y las opciones
    precedidas de un - se quitan de las activas en ese
    momento. 
Por ejemplo, sin ningún símbolo + o
    -:
      <Directory /web/docs>
      
        Options Indexes FollowSymLinks
      
      </Directory>
      
      <Directory /web/docs/spec>
      
        Options Includes
      
      </Directory>
    
entoces solo Includes tendrá efecto para el
    directorio /web/docs/spec. Sin embargo, si la segunda
    directiva Options usara un símbolo
    + y otro -:
      <Directory /web/docs>
      
        Options Indexes FollowSymLinks
      
      </Directory>
      
      <Directory /web/docs/spec>
      
        Options +Includes -Indexes
      
      </Directory>
    
entonces las opciones FollowSymLinks e
    Includes estarán activas para el directorio
    /web/docs/spec.
El uso de -IncludesNOEXEC o -Includes
      desactiva server-side includes completamente independientemente
      de la configuración anterior.
El comportamiento por defecto en ausencia de ninguna
    configuración es All.
| Descripción: | Selecciona qué usuarios autentificados pueden acceder a un recurso | 
|---|---|
| Sintaxis: | Require entity-name [entity-name] ... | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | AuthConfig | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva selecciona qué usuarios autentificados pueden acceder a un recurso. La sintaxis a usar es:
Require user userid [userid]
      ...Require group group-name [group-name]
      ...Require valid-userRequire debe ser usada de forma conjunta
    con las directivas AuthName,
    AuthType, y con directivas
    como AuthUserFile y
    AuthGroupFile (para
    definir usuarios y grupos) para funcionar
    correctamente. Ejemplo:
       AuthType Basic
       AuthName "Restricted Resource"
       AuthUserFile /web/users
       AuthGroupFile /web/groups
       Require group admin
    
Los controles de acceso que se aplican de esta manera son
    efectivos para todos los
    métodos. Esto es lo que normalmente se
    quiere. Si quiere aplicar controles de acceso solo a
    métodos específicos, mientras se dejan otros
    métodos sin protección, use la directiva
    Require en una sección <Limit>.
| Descripción: | Limita el consumo de tiempo de CPU que pueden hacer proceses creados por procesos hijo de Apache | 
|---|---|
| Sintaxis: | RLimitCPU seconds|max [seconds|max] | 
| Valor por defecto: | Unset; usa el valor por defecto del sistema operativo | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
Toma 1 ó 2 parámetros. El primer parámetro
    se refiere al límite flexible de recursos para todos los
    procesos y el segundo parámetro especifica el límite
    máximo de recursos. Cada uno de los parámetros puede ser
    un número, ó max para indicarle al servidor que
    el límite debe fijarse al máximo permitido por la
    configuración del sistema operativo. Para elevar el
    límite máximo de recursos es necesario que se esté
    ejecutando el servidor como ususario root, o estar en
    la fase inicial del arranque.
Esto se aplica a procesos nacidos de procesos hijo de Apache que están sirviendo peticiones, no a los procesos hijo de Apache propiamente dichos. Esto incluye a los scripts CGI y a los comandos de ejecución SSI, pero no a procesos nacidos del proceso padre Apache tales como ficheros de registro redireccionados (piped logs).
Los límites de consumo de tiempo de la CPU se expresan en segundos por proceso.
| Descripción: | Limita el consumo de memoria que pueden hacer procesos creados por procesos hijo de Apache | 
|---|---|
| Sintaxis: | RLimitMEM bytes|max [bytes|max] | 
| Valor por defecto: | Unset; usa el valor por defecto del sistema operativo | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
Toma 1 ó 2 parámetros. El primer parámetro
    especifica el límite flexible de recursos para todos los
    procesos y el segundo parámetro especifica el límite
    máximo de recursos. Cada uno de los parámetros puede ser
    un número, ó max para indicarle al servidor que
    el límite debe fijarse al máximo permitido por la
    configuración del sistema operativo. Para elevar el
    límite máximo de recursos es necesario que se esté
    ejecutando el servidor como ususario root, o estar en
    la fase inicial del arranque.
Esto se aplica a procesos nacidos de procesos hijo de Apache que están sirviendo peticiones, no a los procesos hijo de Apache propiamente dichos. Esto incluye a los scripts CGI y a los comandos de ejecución SSI, pero no a procesos nacidos del proceso padre Apache tales como ficheros de registro redireccionados (piped logs).
Los límites de consumo de memoria se expresan en bytes por proceso.
| Descripción: | Limita el número de procesos que pueden crearse por parte de procesos creados por procesos hijo de Apache | 
|---|---|
| Sintaxis: | RLimitNPROC number|max [number|max] | 
| Valor por defecto: | Unset; usa el valor por defecto del sistema operativo | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | Todas | 
| Estado: | Core | 
| Módulo: | core | 
Toma 1 ó 2 parámetros. El primer parámetro
    especifica el límite flexible de recursos para todos los
    procesos y el segundo parámetro especifica el límite
    máximo de recursos. Cada uno de los parámetros puede ser
    un número, ó max para indicarle al servidor que
    el límite debe fijarse al máximo permitido por la
    configuración del sistema operativo. Para elevar el
    límite máximo de recursos es necesario que se esté
    ejecutando el servidor como usuario root, o estar en
    la fase inicial del arranque.
Esto se aplica a procesos nacidos de la división de procesos hijo de Apache que están sirviendo peticiones, no a los procesos hijo de Apache propiamente dichos. Esto incluye a los scripts CGI y a los comandos de ejecución SSI, pero no a procesos nacidos de la división del proceso padre Apache tales como ficheros de registro redireccionados (piped logs).
Limita el número de procesos por usuario.
Si los procesos CGI
      no están siendo ejecutados por
      identificadores de usuario diferentes del identificador de
      usuario que está ejecutando el servidor web, esta directiva
      limitará el número de procesos que el servidor puede
      crear. Como resultado de esta situación, en el
      error_log aparecerán mensajes del tipo
      cannot fork.
| Descripción: | Interacción entre el control de acceso basado en host y la autentificación de usuarios | 
|---|---|
| Sintaxis: | Satisfy Any|All | 
| Valor por defecto: | Satisfy All | 
| Contexto: | directory, .htaccess | 
| Prevalece sobre: | AuthConfig | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Influenciada por <Limit>y<LimitExcept>en las versiones de Apache 2.0.51 y
posteriores | 
Especifica la política de acceso a seguir cuando se usan tanto
    Allow como Require. El parámetro puede ser
    All o Any. Esta directiva es solo útil
    si se va restringir el acceso a un área concreta con un nombre de
    usuario/contraseña y dirección del cliente. En este caso
    el comportamiento por defecto (All) es para requerir
    que el cliente pase la restricción referente a la dirección
    e introduzca un nombre de usuario y contraseña
    válidos. Con la opción Any el cliente podrá acceder
    si cumple la restricción referente a la dirección o si introduce un
    nombre de usuario y contraseñas válidos. Esto puede usarse para
    restringir el acceso a una zona con una contraseña, pero permitir
    a los clientes de algunas direcciones en concreto que accedan sin
    tener que introducir contraseña alguna.
Por ejemplo, si quiere permitir que todo el mundo tenga acceso total a su intranet o a una parte de si sitio web, pero requerir que los visitantes de fuera de su intranet introduzcan una contraseña, puede usar una configuración similar a la siguiente:
      Require valid-user
      Allow from 192.168.1
      Satisfy Any
    
A partir de la versión de Apache 2.0.51, puede limitarse
    la aplicación de las directivas
    Satisfy a determinados mótodos en
    particular mediante secciones <Limit> y <LimitExcept>.
| Descripción: | Técnica para ubicar el intérprete de scripts CGI's | 
|---|---|
| Sintaxis: | ScriptInterpreterSource Registry|Registry-Strict|Script | 
| Valor por defecto: | ScriptInterpreterSource Script | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Solo sistemas Windows; la opció Registry-Strictestá disponible en las versiones de
Apache 2.0 y posteriores | 
Esta directiva se usa para controlar la manera que Apache
    encuentra el intérprete usado para ejecutar scripts CGI. La
    configuración por defecto es Script. Esto hace que
    Apache use el intérprete que aparece en la primera línea, la que
    empieza por #!) en el script. En los sistemas Win32
    esta línea tiene un aspecto similar a:
      #!C:/Perl/bin/perl.exe
    
o, si perl está en el PATH,
    simplemente:
      #!perl
    
Usar ScriptInterpreterSource Registry hará
    que se busque en el Registro de Windows, en
    HKEY_CLASSES_ROOT con la extensión del fichero
    de script (por ejemplo, .pl) como clave de
    búsqueda. El comando definido por la subclave del registro de
    Windows Shell\ExecCGI\Command o, si esta no existe,
    por la subclave Shell\Open\Command se usa para abrir
    el script. Si no se encuentra ningún resutlado, Apache
    recurre al comportamiento de la opción
    Script.
Tenga cuidado
    cuando use ScriptInterpreterSource Registry con
    ScriptAlias para
    directorios, porque Apache intentará ejecutar
    cada fichero dentro de ese directorio. Lo
    especificado en Registry puede causar llamadas
    indeseadas a programas que normalmente no se ejecutan. Por
    ejemplo, el programa por defecto para abrir ficheros
    .htm en la mayoría de los sistemas Windows es
    Microsoft Internet Explorer, entonces cualquier petición HTTP
    de un fichero .htm que exista dentro del script del
    directorio hará que el ejecute de fondo el navegador en el
    servidor. Con esto el servidor se bloqueará en más o
    menos un minuto.
La opción Registry-Strict que es nueva en
    Apache 2.0 hace lo mismo que Registry pero usa solo
    la subclave Shell\ExecCGI\Command. La clave
    ExecCGI no es de uso común. Debe ser configurada
    manualmente en el registro de Windows y por tanto previene la
    ejecución accidental de procesos en su sistema.
| Descripción: | Dirección de email que el servidor incluye en los mensajes de error que se envían al cliente | 
|---|---|
| Sintaxis: | ServerAdmin email-address | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
ServerAdmin especifica la dirección de
    e-mail que el servidor incluye en cualquier mensaje de error que
    envía al cliente.
Sería conveniente tener una dirección de email solo para esto, por ejemplo
      ServerAdmin www-admin@foo.example.com
    
ya que los usuarios no siempre mencionan que están hablando del servidor!
| Descripción: | Nombres alternativos usados para un host cuando se intentan encontrar equivalencias a hosts virtuales basados en el nombre | 
|---|---|
| Sintaxis: | ServerAlias hostname [hostname] ... | 
| Contexto: | virtual host | 
| Estado: | Core | 
| Módulo: | core | 
ServerAlias especifica los nombres
    alternativos para un host, para usarlo con hosts virtuales basados en el
    nombre.
      <VirtualHost *>
      ServerName example.com
      ServerAlias example.com server2
      # ...
      </VirtualHost>
    
| Descripción: | Nombre de host y número de puerto que el servidor usa para identificarse | 
|---|---|
| Sintaxis: | ServerName fully-qualified-domain-name[:port] | 
| Contexto: | server config, virtual host | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | En la versión 2.0, esta directiva sustituye la
     funcionalidad de la direciva Portde la
     versión 1.3. | 
La directiva ServerName especifica el
    nombre de host y el puerto que usa el servidor para
    identificarse. Esto se usa cuando se hace redirección de URLs. Por
    ejemplo, si el nombre de la maquina del servidor web es
    simple.example.com, pero el la maquina también tiene
    el alias DNS www.example.com y quiere que el servidor
    web se identifique así, debe usar la siguiente directiva:
      ServerName www.example.com:80
    
Si no especifa ServerName, entonces el
    servidor intentará deducir en nombre de host haciendo una
    busqueda reversa en la dirección IP. Si no se especifica
    ningún puerto en ServerName, entonces
    el servidor usará el puerto para las peticiones
    entrantes. Para disfrutar de la máxima fiabilidad y
    predictibilidad, debe especificar explicitamente un nombre de host
    y un puerto usando la directiva
    ServerName.
Si está usando hosts
    virtuales basados en el nombre, la directiva
    ServerName dentro de una sección <VirtualHost> especifica
    qué nombre de host debe aparecer en la cabecera de petición
    Host: para coincidir con ese host virtual.
Consulte la descripción de la directiva UseCanonicalName para configuraciones
    que determinan si URLs autoreferenciadas (por ejemplo, por el
    módulo mod_dir module) se referirán al puerto
    especificado, o al número de puerto dado en la petición del
    cliente.
    
| Descripción: | URL que se usará para hosts virtuales basados en nombre que son accedidos con un navegador incompatible | 
|---|---|
| Sintaxis: | ServerPath URL-path | 
| Contexto: | virtual host | 
| Estado: | Core | 
| Módulo: | core | 
The ServerPath directive sets the legacy
    URL pathname for a host, for use with name-based virtual hosts.
| Descripción: | Directorio base de la instalación del servidor | 
|---|---|
| Sintaxis: | ServerRoot directory-path | 
| Valor por defecto: | ServerRoot /usr/local/apache | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
La directiva ServerRoot especifica el
    directorio en el que ha sido instalado el servidor. Normalmente
    contendrá los subdirectorios conf/ y
    logs/. Las rutas que se especifican en otras
    directivas (por ejemplo en Include o LoadModule) se toman como relativas a
    este directorio.
      ServerRoot /home/httpd
    
-d de
    httpdServerRoot| Descripción: | Configura el pie de página en documentos generados por el servidor | 
|---|---|
| Sintaxis: | ServerSignature On|Off|EMail | 
| Valor por defecto: | ServerSignature Off | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | All | 
| Estado: | Core | 
| Módulo: | core | 
La directiva ServerSignature permite la
    configuración de un pie de página que se
    añadirá a documentos generados por el sevidor (mensajes
    de error, listado de directorios generados por
    mod_proxy, salida de
    mod_info...). La razón por la que puede no
    querer añadir este pie de página, es que en una cadena
    de proxies, el usuario a menudo no tiene posibilidad de establecer
    cual de los servidores encadenados ha retornado un mensaje de
    error.
Esta directiva usa por defecto el valor Off, que
    suprime la generación del pie de página (y por tanto, es
    compatible con el comportamiento de Apache 1.2 y las versiones
    anteriores). Si usa el valor On simplemte se
    añade una línea con el número de versión y el
    valor de ServerName para el
    host virtual que está respondiendo la petición, y el
    valor EMail crea las referencias adicionales
    "mailto:" a lo especificado en la directiva ServerAdmin.
En las versiones 2.0.44 y posteriores, los detalles del número
    de la versión del servidor son controlados por la directiva
    ServerTokens.
| Descripción: | Configura la cabecera de respuesta HTTP Server | 
|---|---|
| Sintaxis: | ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full | 
| Valor por defecto: | ServerTokens Full | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
Esta directiva controla si el campo Server de las
    cabeceras de las respuestas que se envían de vuelta a los clientes
    incluye una descripción del sistema operativo genérico del
    servidor así como información sobre los modulos compilados en el
    servidor.
ServerTokens Prod[uctOnly]Server:
      ApacheServerTokens MajorServer:
      Apache/2ServerTokens MinorServer:
      Apache/2.0ServerTokens Min[imal]Server:
      Apache/2.0.41ServerTokens OSServer: Apache/2.0.41
      (Unix)ServerTokens Full (or not specified)Server: Apache/2.0.41
      (Unix) PHP/4.2.2 MyMod/1.2Esta configuración se aplica al servidor entero, y no puede ser activada o desactivada para unos hosts virtuales sí y para otros no.
En las versiones posteriores a la 2.0.44, esta directiva
    también controla la información especificada en la directiva
    ServerSignature.
| Descripción: | Hace que todos los ficheros que correspondan con el valor especificado sean procesados obligatoriamente por un handler | 
|---|---|
| Sintaxis: | SetHandler handler-name|None | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
| Compatibilidad: | Trasladado al núcleo del servidor en Apache 2.0 | 
Cuando se usa en un fichero .htaccess o en una
    sección <Directory> r <Location>, esta directiva hace que todos
    los ficheros cuyo nombre tenga equivalencia con el valor que
    especifica sean tratados por el handler dado en
    handler-name. Por ejemplo, si tiene un directorio cuyo
    contenido quiere que sea tratado como as fichero de reglas de
    mapas de imágenes, independientemente de las extensiones,
    puede poner lo siguiente en un fichero .htaccess en
    ese directorio:
      SetHandler imap-file
    
Otro ejemplo: si quiere que el servidor despliegue un resumen
    de su estado cuando se llame a una URL de
    http://servername/status, puede poner lo siguiente en
    el fichero httpd.conf:
      <Location /status>
      
        SetHandler server-status
      
      </Location>
    
Puede evitar que se aplique lo especificado anteriormente en
    una directiva SetHandler usando el valor
    None.
| Descripción: | Especifica los filtros que procesarán las peticiones de los clientes y el contenido de peticiones POST | 
|---|---|
| Sintaxis: | SetInputFilter filter[;filter...] | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
La directiva SetInputFilter espcifica el
    filtro o filtros que procesarán las peticiones de los
    clientes y el contenido de peticiones POST cuando son recibidas
    por el servidor. El filtro o filtros especificados en esta
    directiva se aplican además de los definidos en otras partes,
    incluyendo los especificados en la directiva AddInputFilter.
Si se especifica más de un filtro, deben separarse con puntos y comas en el orden en que deban procesar los contenidos.
| Descripción: | Especifica los filtros que procesarán las respuestas del servidor | 
|---|---|
| Sintaxis: | SetOutputFilter filter[;filter...] | 
| Contexto: | server config, virtual host, directory, .htaccess | 
| Prevalece sobre: | FileInfo | 
| Estado: | Core | 
| Módulo: | core | 
La directiva SetOutputFilter especifica
    los filtros se usarán para procesar las respuestas del servidor
    antes de enviarlas al cliente. Esto es además de los filtros
    definidos en otras partes, incluidos los de la directiva
    AddOutputFilter.
Por ejemplo, la siguiente configuración procesará todos los
    archivos en el directorio /www/data/ con server-side
    includes.
      <Directory /www/data/>
      
        SetOutputFilter INCLUDES
      
      </Directory>
    
Si se especifica más de un filtro, deben separarse con puntos y comas en el orden en que deban procesar los contenidos.
| Descripción: | Cantidad de tiempo que el servidor esperará para que ocurran determinados eventos antes de cerrar una petición | 
|---|---|
| Sintaxis: | TimeOut seconds | 
| Valor por defecto: | TimeOut 300 | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
La directiva TimeOut define ahora la
    cantidad de tiempo que Apache esperará para tres cosas:
Lo planeado es hacer configurable por separado cada una de estas cosas. La cantidad de tiempo por defecto de 1200 usada antes de la versión 1.2, ha sido reducida hasta 300, que es en la mayor parte de las situaciones más de lo necesario. El tiempo usado por defecto no es menor porque puede que haya alguna parte del código en que el contador de tiempo no se pone a cero como debería cuando se envía un paquete.
| Descripción: | Configura la forma en que el servidor determina su propio nombre u puerto | 
|---|---|
| Sintaxis: | UseCanonicalName On|Off|DNS | 
| Valor por defecto: | UseCanonicalName On | 
| Contexto: | server config, virtual host, directory | 
| Estado: | Core | 
| Módulo: | core | 
En muchas ocasiones, Apache tiene que construir una URL
    autoreferenciada -- esto es, una URL que se refiere de
    vuelta al mismo servidor. Con UseCanonicalName On
    Apache usará el nombre de host y puerto que estén especificados en
    la directiva ServerName para
    construir el nombre canónico del servidor. Este nombre se usa en
    todas las URLs autoreferenciadas, y para los valores de
    SERVER_NAME y SERVER_PORT en los
    CGIs.
Con UseCanonicalName Off Apache formará las
    URLs autoreferenciadas usando el nombre de host y puerto
    suministrados por el cliente. Si se ha suministrado esa
    información (si no se ha suministrado, se usará el
    nombre canónico, tal y como se ha definido arriba). Estos
    valores son los mismos que se usan para implementar hosting virtual basado en
    nombres, y están disponibles con los mismos clientes. Las
    variables de CGI SERVER_NAME y
    SERVER_PORT se construirán con la
    información suministrada por los clientes.
Un ejemplo de donde esto puede ser útil es en un servidor de
    una intranet, donde los usuarios se conectan a la máquina usando
    nombres cortos como www. Se dará cuenta de que si los
    usuarios teclean un nombre corto, y una URL que es un directorio,
    tal como http://www/splat, sin una barra al
    final entonces Apache los rediccionará a
    http://www.domain.com/splat/. Si tiene la
    autenfificación activada, esto hará que el usuario se tenga que
    autentificar dos veces (una para www y otra para
    www.domain.com -- consulte las
    preguntas más frecuentes sobre este asunto para obtener más
    información). Pero si especifica el valor Off en
    la directiva UseCanonicalName, entonces
    Apache redireccionará a http://www/splat/.
Hay una tercera opción, UseCanonicalName DNS, para
    el caso en que se usa hosting virtual masivo basado en IP para
    soportar clientes antiguos que no envían la cabecera
    Host:. Con esta opción Apache hace una busqueda de
    DNS reversa en la dirección IP del servidor al que el cliente se
    conectó para hacer funcionar las URLs autoreferenciadas.
Si los CGIs asumen los valores de SERVER_NAME,
    puede que no funcionen con esta opción. El cliente es
    esencialmente libre de dar cualquier valor que quiera como nombre
    de host. Pero si el CGI solo usa SERVER_NAME para
    constrir URLs autoreferenciadas, entonces no debe haber ningún
    problema.
| Descripción: | Contiene las directivas que se aplican solo a un nombre de host específico o dirección IP | 
|---|---|
| Sintaxis: | <VirtualHost
    addr[:port] [addr[:port]]
    ...> ... </VirtualHost> | 
| Contexto: | server config | 
| Estado: | Core | 
| Módulo: | core | 
<VirtualHost> y
    </VirtualHost> se usan para incluir un grupo de
    directivas que se aplicarán solo a un host virtual en
    particular. Cualquier directiva que esté permitido usar en un
    contexto virtual host puede usarse. Cuando el servidor recibe una
    petición de un documento de un host virtual en concreto, usa las
    directivas de configuración incluidas en la sección <VirtualHost>. Addr puede
    ser:
*, el cual puede usarse en
      combinación con NameVirtualHost * para que
      equivalga a todas las direcciones IP; o_default_, que se usa
      solo con hosting virtual IP para detectar direcciones IP sin
      emparejar.
      <VirtualHost 10.1.2.3>
      
        ServerAdmin webmaster@host.foo.com
        DocumentRoot /www/docs/host.foo.com
        ServerName host.foo.com
        ErrorLog logs/host.foo.com-error_log
        TransferLog logs/host.foo.com-access_log
      
      </VirtualHost>
    
Las direcciones IPv6 deben especificarse entre corchetes porque el número de puerto opcional no podría determinarse si no se hace así. Un ejemplo de dirección IPv6 se mustra aquí abajo:
      <VirtualHost [2001:db8::a00:20ff:fea7:ccea]>
      
        ServerAdmin webmaster@host.example.com
        DocumentRoot /www/docs/host.example.com
        ServerName host.example.com
        ErrorLog logs/host.example.com-error_log
        TransferLog logs/host.example.com-access_log
      
      </VirtualHost>
    
Cada host virtual se corresponde con una dirección IP
    diferente, un número de puerto diferente o un nombre de host
    diferente para el servidor, en el primer caso la máquina del
    servidor debe estar configurada para aceptar paquetes IP para
    múltiples direcciones. (Si la máquina no tiene múltiples infaces
    de red, entonces esto puede conseguirse con el comando
    ifconfig alias -- si su sistema operativo lo
    soporta).
El uso de <VirtualHost> no afecta
    a las direcciones en las que escucha Apache. Puede que necesite
    asegurarse de que Apache está escuchando en la dirección correcta
    usando Listen.
Cuando se usa hosting virtual basado en IP, puede
    especificarse el nombre especial _default_, en cuyo
    caso, este host virtual equivaldrá a cualquier dirección IP que no
    esté especificamente listada en otro host virtual. En ausencia de
    un host virtual _default_ el server config
    "principal", consistente en todas las definiciones fuera de una
    sección VirtualHost, se usa cuando la IP no coincide con ninguna.
    (Pero tenga en cuenta que cualquier dirección IP que equivalga a
    la directiva NameVirtualHost
    no usará ni el server config "principal" ni el host virtual
    _default_ virtual host.  Consulte la documentación de
    hosting virtual basado en
    nombres para obtener más información.)
Puede especificar :port para cambiar el puerto
    de equivalencia. Si no especifica ninguno, entonces por defecto se
    usa el mismo puerto de la directiva Listen mas reciente del servidor
    principal. También puede especificar :* para hacer
    coincidir con todos los puertos en esa dirección. (Esto se
    recomienda cuando se usa con _default_.)
Consulte la documentación de consejos de seguridad para obtener más información sobre por qué pone en riesgo la seguridad si en el directorio donde almacena los archivos log tiene permisos de escritura alguien que no sea el usuario que inicia el servidor.