blob: 7143990e8ab0ceea157fd85e798cfdf9f24aeb8f [file]
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="es"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_alias - Servidor HTTP Apache Versi&oacute;n 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="../style/css/prettify.css">
<script src="../style/scripts/prettify.min.js">
</script>
<link href="../images/favicon.png" rel="shortcut icon"></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">M&oacute;dulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Reportar un error</a></p>
<p class="apache">Versi&oacute;n 2.5 del Servidor HTTP Apache</p>
<img alt="" src="../images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documentaci&oacute;n</a> &gt; <a href="../">Versi&oacute;n 2.5</a> &gt; <a href="./">M&oacute;dulos</a></div>
<div id="page-content">
<div id="preamble"><h1>M&oacute;dulo Apache mod_alias</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Idiomas disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/mod_alias.html" title="Espa&ntilde;ol">&nbsp;es&nbsp;</a> |
<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Esta traducci&oacute;n podr&iacute;a estar
obsoleta. Consulte la versi&oacute;n en ingl&eacute;s de la
documentaci&oacute;n para comprobar si se han producido cambios
recientemente.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Descripci&oacute;n:</a></th><td>Facilita el mapeo a diferentes partes del sistema de ficheros del host en el &aacute;rbol de documentos y la redirecci&oacute;n de URLs
</td></tr>
<tr><th><a href="module-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificador de M&oacute;dulos:</a></th><td>alias_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichero de C&oacute;digo Fuente:</a></th><td>mod_alias.c</td></tr></table>
<h3>Resumen de contenidos</h3>
<p>Las directivas facilitadas por este m&oacute;dulo permiten la manipulaci&oacute;n y control de URLs seg&uacute;n llegan las peticiones al servidor. Las directivas
<code class="directive"><a href="#alias">Alias</a></code> y
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> se usan para mapear URLs con rutas del sistema de ficheros. Esto permite que se sirva contenido que no est&aacute; directamente dentro del
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> como si fuera parte de &eacute;ste. La directiva <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> tiene adem&aacute;s el efecto de hacer que el directorio de destino contenga solo scripts CGI.</p>
<p>Las directivas <code class="directive"><a href="#redirect">Redirect</a></code> se usan para indicar a los clientes que hagan una nueva petici&oacute;n con una URL distinta. Se usan a menudo cuando el recurso se ha movido a una nueva ubicaci&oacute;n.</p>
<p>Cuando se usan las directivas <code class="directive"><a href="#alias">Alias</a></code>,
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> y
<code class="directive"><a href="#redirect">Redirect</a></code> dentro de una secci&oacute;n
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
o <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, se puede usar
<a href="../expr.html">sintaxis de expresi&oacute;n</a> para manipuilar la ruta de destino o URL.
</p>
<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> se ha dise&ntilde;ado para gestionar tareas sencillas de manipulaci&oacute;n de URL. Para tareas m&aacute;s complicadas como la manipulaci&oacute;n de "query string", use las herramientas facilitadas por
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
</div>
<div id="quickview"><h3>Temas</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif"> <a href="#order">Orden de Procesamiento</a></li>
</ul><h3 class="directives">Directivas</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif"> <a href="#alias">Alias</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#aliasmatch">AliasMatch</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#aliaspreservepath">AliasPreservePath</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#redirect">Redirect</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#redirectmatch">RedirectMatch</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#redirectpermanent">RedirectPermanent</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#redirectrelative">RedirectRelative</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#redirecttemp">RedirectTemp</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#scriptalias">ScriptAlias</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
</ul>
<h3>Lista de comprobaci&oacute;n de errores corregidos</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd historial de cambios</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_alias">Problemas Conocidos</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_alias">Reportar un error</a></li></ul><h3>Consulte tambi&eacute;n</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
<li><a href="../urlmapping.html">Mapeo de URLs al sistema de ficheros</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="order">Orden de Procesamiento <a title="Enlace permanente" href="#order" class="permalink">&para;</a></h2>
<p>Aliases y Redirects que se dan en diferentes contextos se procesan como otras directivas seg&uacute;n las <a href="../sections.html#mergin">reglas de fusi&oacute;n</a> est&aacute;ndar. Pero cuando se dan m&uacute;ltiples
Aliases o Redirects en el mismo contexto (por ejemplo, en la misma secci&oacute;n
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>)
entonces se procesan en un orden concreto.</p>
<p>En primer lugar, todos los Redirect se procesan antes que los Aliases, y por tanto una solicitud que coincida con un
<code class="directive"><a href="#redirect">Redirect</a></code> o
<code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> nunca aplicar&aacute; un Alias. En segundo lugar, los Aliases y Redirect se procesan en el orden en el que aparecen en los ficheros de configuraci&oacute;n, y la primera coincidencia es la que tiene prioridad.</p>
<p>Por esta raz&oacute;n, cuando dos o m&aacute;s de estas directivas se aplican a la misma sub-ruta, debe definir la ruta m&aacute;s espec&iacute;fica primero para que todas las directivas tengan efecto. Por ejemplo, la siguiente configuraci&oacute;n funcionar&aacute; como se espera:</p>
<pre class="prettyprint lang-config">Alias "/foo/bar" "/baz"
Alias "/foo" "/gaq"</pre>
<p>Pero si estas dos directivas estuvieran en orden inverso, el
<code class="directive"><a href="#alias">Alias</a></code>
<code>/foo</code> siempre se aplicar&iacute;a antes que el
<code class="directive"><a href="#alias">Alias</a></code> <code>/foo/bar</code>, as&iacute; que se obviar&iacute;a la &uacute;ltima directiva.</p>
<p>Cuando las directivas <code class="directive"><a href="#alias">Alias</a></code>,
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> y
<code class="directive"><a href="#redirect">Redirect</a></code> se usan dentro de una secci&oacute;n
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
o <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, estas directivas tendr&aacute;n prioridad sobre cualquier directiva
<code class="directive"><a href="#alias">Alias</a></code>,
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> y
<code class="directive"><a href="#redirect">Redirect</a></code> definidas globalmente.
</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="alias">Directiva <span id="Alias">Alias</span> <a title="Enlace permanente" href="#alias" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Mapea URLs a rutas del sistema de ficheros</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Alias [<var>URL-path</var>]
<var>file-path</var>|<var>directory-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>La directiva <code class="directive">Alias</code> permite que se almacenen documentos en el sistema de ficheros local en rutas distintas de las que est&aacute;n bajo
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. URLs con una ruta
(%-decodificada) que comienzan con <var>URL-path</var> ser&aacute;n mapeadas a ficheros locales que comiencen con
<var>directory-path</var>. El
<var>URL-path</var> es sensible a may&uacute;sculas, incluso en sistemas de ficheros que no lo son.</p>
<pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre>
<p>Una petici&oacute;n para <code>http://example.com/image/foo.gif</code> har&iacute;a que el servidor respondiera con el fichero
<code>/ftp/pub/image/foo.gif</code>. Solo se comparan segmentos de ruta completos, as&iacute; que el alias de m&aacute;s arriba no valdr&iacute;a para la petici&oacute;n
<code>http://example.com/imagefoo.gif</code>. Para ejemplos m&aacute;s complejos de expresiones regulares, vea la directiva
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p>
<p>Tenga en cuenta que si incluye una / final en el
<var>URL-path</var> entonces el servidor requerir&aacute; una / final para poder extender el alias. Es decir, si usa</p>
<pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre>
<p>entonces la URL <code>/icons</code> no coincidir&aacute; con el alias, porque no tiene la / final. De la misma manera, si omite la barra en el
<var>URL-path</var> tambi&eacute;n debe omitirla del
<var>file-path</var>.</p>
<p>Considere que seguramente tenga que especificar secciones de
<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> adicionales que cubran los <em>destinos</em> de los aliases. Las directivas Alias se comprueban antes que las de
<code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, as&iacute; que solo los destinos de los alias se ven afectados.
(Sin embargo tenga en cuenta que las secciones
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
se examinan una vez antes de que los alias tengan efecto, as&iacute; que se aplicar&aacute;n.)</p>
<p>En particular, si est&aacute; creando un <code>Alias</code> a un directorio fuera de su
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, probablemente tenga que darle permisos de manera expl&iacute;cita al directorio de destino.</p>
<pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"
&lt;Directory "/ftp/pub/image"&gt;
Require all granted
&lt;/Directory&gt;</pre>
<p>Cualquier n&uacute;mero de barras en el par&aacute;metro <var>URL-path</var> coincide con el mismo n&uacute;mero de barras en el URL-path solicitado.</p>
<p>Si la directiva <code class="directive">Alias</code> se usa dentro de una secci&oacute;n
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
o <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> el URL-path se omite, y el file-path se interpreta usando <a href="../expr.html">sint&aacute;xis de expresi&oacute;n</a>.<br>
Esta sint&aacute;xis est&aacute; disponible en Apache 2.4.19 y versiones posteriores.</p>
<pre class="prettyprint lang-config">&lt;Location "/image"&gt;
Alias "/ftp/pub/image"
&lt;/Location&gt;
&lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
&lt;/LocationMatch&gt;</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="aliasmatch">Directiva <span id="AliasMatch">AliasMatch</span> <a title="Enlace permanente" href="#aliasmatch" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Mapea URLs a ubicaciones del sistema de ficheros usando expresiones regulares</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AliasMatch <var>regex</var>
<var>file-path</var>|<var>directory-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>Esta directiva es equivalente a
<code class="directive"><a href="#alias">Alias</a></code>, pero hace uso de
<a class="glossarylink" href="../glossary.html#regex" title="ver glosario">expresiones regulares</a>,
en lugar de comparaciones simples de prefijo. La expresi&oacute;n
regular facilitada se compara con el URL-path, y si coincide,
el servidor sustituye cualquier coincidencia entre par&eacute;ntesis con
la cadena de caracteres facilitada y la usa como el nombre de fichero. Por ejemplo, para activar el directorio <code>/icons</code>, uno podr&iacute;a usar:
</p>
<pre class="prettyprint lang-config">AliasMatch "^/icons(/|$)(.*)" "/usr/local/apache/icons$1$2"</pre>
<p>Puede usar toda la capacidad que le permiten las
<a class="glossarylink" href="../glossary.html#regex" title="ver glosario">expresiones regulares</a>. Por ejemplo, es posible construir un alias con comprobaci&oacute;n insensible a may&uacute;sculas del URL-path:</p>
<pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre>
<p>Una sutil diferencia entre
<code class="directive"><a href="#alias">Alias</a></code>
y <code class="directive">AliasMatch</code> es que
<code class="directive"><a href="#alias">Alias</a></code> copiar&aacute; autom&aacute;ticamente cualquier parte adicional de la URI, pasada la parte que coincide, al final de la ruta del fichero en el par&aacute;metro de la derecha, mientras que
<code class="directive">AliasMatch</code> no lo har&aacute;. Esto significa en casi todos los casos, querr&aacute; que las expresiones regulares concuerden con la URI solicitada al completo desde el comienzo al final, y usar la sustituci&oacute;n del par&aacute;metro a la derecha.</p>
<p>En otras palabras, cambiar
<code class="directive"><a href="#alias">Alias</a></code> a
<code class="directive">AliasMatch</code> no tendr&aacute; el mismo resultado. Como m&iacute;nimo, tendr&aacute; que a&ntilde;adir un <code>^</code> al comienzo de la expresi&oacute;n regular, a&ntilde;adir un <code>(.*)$</code> al final y a&ntilde;adir
<code>$1</code> al final del reemplazo.</p>
<p>Por ejemplo, supongamos que quiere reemplazar esto con AliasMatch:</p>
<pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre>
<p>Esto no es equivalente - &iexcl;no haga esto! Esto enviar&aacute; todas las peticiones que tengan /image/ en cualquier parte de la petici&oacute;n y la pondr&aacute; en /ftp/pub/image/:</p>
<pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre>
<p>Esto es lo que necesita para que tenga el mismo efecto:</p>
<pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre>
<p>Por supuesto, no hay ning&uacute;n motivo para usar
<code class="directive">AliasMatch</code>
donde <code class="directive"><a href="#alias">Alias</a></code> funcionar&iacute;a.
<code class="directive">AliasMatch</code> le permite hacer cosas m&aacute;s complicadas. Por ejemplo, puede servir diferentes tipos de ficheros desde diferentes directorios:</p>
<pre class="prettyprint lang-config">AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg"
AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"</pre>
<p>Si se usan multiples barras iniciales en la URL solicitada, el servidor las descarta antes de que las directivas de este m&oacute;dulo las compare con el URL-path solicitado.
</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="aliaspreservepath">Directiva <span id="AliasPreservePath">AliasPreservePath</span> <a title="Enlace permanente" href="#aliaspreservepath" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Map the full path after the alias in a location.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>AliasPreservePath OFF|ON</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>AliasPreservePath OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.5.1 and later</td></tr>
</table><p>The documentation for this directive has
not been translated yet. Please have a look at the English
version.</p></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="redirect">Directiva <span id="Redirect">Redirect</span> <a title="Enlace permanente" href="#redirect" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Env&iacute;a una redirecci&oacute;n externa indicando al cliente que solicite una URL distinta</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>Redirect [<var>status</var>] [<var>URL-path</var>]
<var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>La directiva <code class="directive">Redirect</code> mapea una URL antigua a una nueva indicando al cliente que solicite el recurso en otra ubicaci&oacute;n.</p>
<p>El antiguo <em>URL-path</em> es una ruta (%-decodificada) que comienza con una barra. No se permite una ruta relativa.</p>
<p>La nueva <em>URL</em> puede ser una URL absoluta que comienza con esquema y nombre de host, or un URL-path que comienza con una barra (/). En este &uacute;ltimo caso se a&ntilde;adir&aacute;n el esquema y nombre de host del servidor actual si tiene <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> configurado a on, si no el nombre de host se reemplazar&aacute; por la cabecera Host solicitada.</p>
<p>Entonces cualquier petici&oacute;n que comience con <em>URL-path</em> devolver&aacute; una solicitud de redirecci&oacute;n al cliente hacia la ubicaci&oacute;n de la <em>URL</em> de destino. Informaci&oacute;n adicional de la ruta pasado el <em>URL-path</em> que coincide se a&ntilde;adir&aacute; al final de la URL de destino.</p>
<pre class="prettyprint lang-config"># Redirect hacia una URL en un host diferente
Redirect "/service" "http://foo2.example.com/service"
# Redirect hacia una URL en el mismo host
Redirect "/one" "/two"</pre>
<p>Si el cliente solicita <code>http://example.com/service/foo.txt</code>, se le indicar&aacute; que acceda a
<code>http://foo2.example.com/service/foo.txt</code> en su lugar. Esto incluye solicitudes con par&aacute;metros
<code>GET</code>, tales como
<code>http://example.com/service/foo.pl?q=23&amp;a=42</code>,que ser&aacute;
redirigido a
<code>http://foo2.example.com/service/foo.pl?q=23&amp;a=42</code>.
Tenga en cuenta que los <code>POST</code> ser&aacute;n descartados.<br>
Solo se comparan segmentos completos de ruta, as&iacute; que el ejemplo de m&aacute;s arriba no coincidir&iacute;a con una petici&oacute;n a
<code>http://example.com/servicefoo.txt</code>. Para comparaciones m&aacute;s complejas usando la
<a href="../expr.html">sint&aacute;xis de expresi&oacute;n</a>, omita el argumento de URL-path tal y como se indica m&aacute;s abajo. Alternativamente, para coincidencias usando expresiones regulares, vea la directiva
<code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
<div class="note"><h3>Nota</h3>
<p>Las directivas <code class="directive">Redirect</code> tienen priodidad sobre directivas
<code class="directive"><a href="#alias">Alias</a></code> y
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, independientemente de su orden en el fichero de configuraci&oacute;n. Directivas
<code class="directive">Redirect</code>
dentro de Location tiene prioridad sobre directivas
<code class="directive">Redirect</code> y
<code class="directive"><a href="#alias">Alias</a></code> con un <var>URL-path</var>.</p>
</div>
<p>Si no se indica un par&aacute;metro <var>status</var>, la redirecci&oacute;n ser&aacute;
"temporal" (estado HTTP 302). Esto le indica al cliente que el recurso se ha movido temporalmente. El par&aacute;metro <var>status</var> se puede usar para devolver otros c&oacute;digos de estado HTTP:</p>
<dl>
<dt>permanent</dt>
<dd>Devuelve una estado de redirecci&oacute;n permanente (301) indicando que el recurso se ha movido de forma permanente.</dd>
<dt>temp</dt>
<dd>Devuelve un estado de redirecci&oacute;n temporal (302). Este es el valor por defecto.</dd>
<dt>seeother</dt>
<dd>Devuelve un estado "See Other" (303) indicando que el recurso ha sido sustituido.</dd>
<dt>gone</dt>
<dd>Devuelve un estado "Gone" (410) indicando que el recurso ha sido eliminado de forma permanente. Cuando se usa este estado, el par&aacute;metro
<var>URL</var> deber&iacute;a omitirse.</dd>
</dl>
<p>Se pueden devolver otros c&oacute;digos de estado indicando el c&oacute;digo num&eacute;rico del estado en el valor de <var>status</var>. Si el estado est&aacute; entre 300 y 399, el par&aacute;metro <var>URL</var> debe estar presente. Si el estado
<em>no</em> est&aacute; entre 300 and 399, el par&aacute;metro <var>URL</var> debe ser omitido. El estado debe ser un c&oacute;digo de estado v&aacute;lido HTTP, conocido por el Servidor Apache HTTP (vea la funci&oacute;n <code>send_error_response</code> en http_protocol.c).</p>
<pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two"
Redirect 303 "/three" "http://example.com/other"</pre>
<p>Si se usa la directiva <code class="directive">Redirect</code> dentro de una secci&oacute;n
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
o <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
sin el <var>URL-path</var>, entonces el par&aacute;metro <var>URL</var> ser&aacute; interpretado
usando <a href="../expr.html">sint&aacute;xis de expresi&oacute;n</a>.<br>
Esta sint&aacute;xis est&aacute; disponible en Apache 2.4.19 y versiones posteriores.</p>
<pre class="prettyprint lang-config">&lt;Location "/one"&gt;
Redirect permanent "http://example.com/two"
&lt;/Location&gt;
&lt;Location "/three"&gt;
Redirect 303 "http://example.com/other"
&lt;/Location&gt;
&lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
&lt;/LocationMatch&gt;</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="redirectmatch">Directiva <span id="RedirectMatch">RedirectMatch</span> <a title="Enlace permanente" href="#redirectmatch" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Env&iacute;a una redirecci&oacute;n externa basada en una coincidencia de expresi&oacute;n regular con la URL actual
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RedirectMatch [<var>status</var>] <var>regex</var>
<var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>Esta directiva es equivalente a
<code class="directive"><a href="#redirect">Redirect</a></code>, pero hace uso de
<a class="glossarylink" href="../glossary.html#regex" title="ver glosario">expresiones regulares</a>,
en lugar de comparaciones simple de prefijo. La expresi&oacute;n
regular facilitada se compara con el URL-path, y si coincide,
el servidor sustituye cualquier coincidencia entre par&eacute;ntesis con
la cadena de caracteres facilitada y la usa como el nombre de fichero. Por ejemplo, para redirigir todos los ficheros GIF al mismo nombre pero del tipo JPEG en otro servidor, uno podr&iacute;a usar:</p>
<pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"</pre>
<p>Las consideraciones relacionadas con las diferencias entre
<code class="directive"><a href="#alias">Alias</a></code> y
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>
tambi&eacute;n aplican a las diferencias entre
<code class="directive"><a href="#redirect">Redirect</a></code> y
<code class="directive">RedirectMatch</code>.
Vea <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> para m&aacute;s
detalles.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="redirectpermanent">Directiva <span id="RedirectPermanent">RedirectPermanent</span> <a title="Enlace permanente" href="#redirectpermanent" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Env&iacute;a una redirecci&oacute;n externa permanente indicando al cliente que solicite una URL diferente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RedirectPermanent <var>URL-path</var> <var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>Esta directiva hace saber al cliente que el Redirect es permanente
(estado 301). Exactamente equivalente a
<code>Redirect permanent</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="redirectrelative">Directiva <span id="RedirectRelative">RedirectRelative</span> <a title="Enlace permanente" href="#redirectrelative" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Allows relative redirect targets.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RedirectRelative On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>RedirectRelative Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>2.5.1 and later</td></tr>
</table><p>The documentation for this directive has
not been translated yet. Please have a look at the English
version.</p></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="redirecttemp">Directiva <span id="RedirectTemp">RedirectTemp</span> <a title="Enlace permanente" href="#redirecttemp" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Env&iacute;a una redirecci&oacute;n externa temporal indicando al cliente que solicite una URL diferente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>RedirectTemp <var>URL-path</var> <var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>Esta directiva le hace saber al cliente que el Redirect es solo temporal (estado 302). Exactamente equivalente a
<code>Redirect temp</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="scriptalias">Directiva <span id="ScriptAlias">ScriptAlias</span> <a title="Enlace permanente" href="#scriptalias" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Mapea una URL a una ubicaci&oacute;n del sistema de ficheros y designa el destino como un script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ScriptAlias [<var>URL-path</var>]
<var>file-path</var>|<var>directory-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>La directiva <code class="directive">ScriptAlias</code> tiene el mismo comportamiento que la directiva <code class="directive"><a href="#alias">Alias</a></code>, excepto que adem&aacute;s indica el directorio de destino conteniendo scripts CGI que ser&aacute;n procesados por el handler cgi-script de
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. URLs con una ruta sensible a may&uacute;sculas y (%-decodificadas) que comienzan con <var>URL-path</var> ser&aacute;n
mapeadas a scripts que comiencen con el segundo par&aacute;metro, que es un nombre de ruta completo en el sistema de ficheros local.</p>
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre>
<p>Una petici&oacute;n para <code>http://example.com/cgi-bin/foo</code> har&iacute;a que el servidor ejecute el script <code>/web/cgi-bin/foo</code>. Esta configuraci&oacute;n es esencialmente equivalente a:</p>
<pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/"
&lt;Location "/cgi-bin"&gt;
SetHandler cgi-script
Options +ExecCGI
&lt;/Location&gt;</pre>
<p>Tambi&eacute;n puede usarse <code class="directive">ScriptAlias</code>junto con un script o handler que usted tenga. Por ejemplo:</p>
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre>
<p>En este escenario todos los ficheros solicitados en
<code>/cgi-bin/</code> ser&aacute;n gestionados por el fichero que usted ha configurado, esto permite que use su propio handler personalizado. Puede que quiera usar esto como un wrapper de CGI y as&iacute; pueda a&ntilde;adir contenido, o alguna otra acci&oacute;n a medida.</p>
<div class="warning">Es m&aacute;s seguro evitar que se coloquen scripts CGI bajo el <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> para que no se revele de manera accidental el c&oacute;digo fuente si la configuraci&oacute;n se vuelve a cambiar alguna vez. El <code class="directive">ScriptAlias</code> hace esto f&aacute;cil mapeando una URL y designando CGI scripts al mismo tiempo. Si decide colocar sus scripts CGI en un directorio que ya es accesible desde la web, no use
<code class="directive">ScriptAlias</code>. En su lugar, use <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, y <code class="directive"><a href="../mod/core.html#options">Options</a></code> como en:
<pre class="prettyprint lang-config">&lt;Directory "/usr/local/apache2/htdocs/cgi-bin"&gt;
SetHandler cgi-script
Options ExecCGI
&lt;/Directory&gt;</pre>
Esto es necesario puesto que multiples <var>URL-paths</var> pueden mapear a la misma ubicaci&oacute;n del sistema de ficheros, potencialmente salt&aacute;ndose el
<code class="directive">ScriptAlias</code> y revelando el c&oacute;digo fuente de los scripts CGI si no est&aacute;n restringidos por una secci&oacute;n
<code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.
</div>
<p>Si se usa la directiva
<code class="directive">ScriptAlias</code> dentro de una secci&oacute;n
<code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
o <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
con el URL-path omitido, entonces el par&aacute;metro URL ser&aacute; interpretando usando
<a href="../expr.html">sintaxis de expresi&oacute;n</a>.<br>
Esta sintaxis est&aacute; disponible en Apache 2.4.19 y versiones posteriores.</p>
<pre class="prettyprint lang-config">&lt;Location "/cgi-bin"&gt;
ScriptAlias "/web/cgi-bin/"
&lt;/Location&gt;
&lt;LocationMatch "/cgi-bin/errors/(?&lt;NUMBER&gt;[0-9]+)"&gt;
ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
&lt;/LocationMatch&gt;</pre>
<h3>Consulte tambi&eacute;n</h3>
<ul>
<li><a href="../howto/cgi.html">Tutorial CGI</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="scriptaliasmatch">Directiva <span id="ScriptAliasMatch">ScriptAliasMatch</span> <a title="Enlace permanente" href="#scriptaliasmatch" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Descripci&oacute;n:</a></th><td>Mapea una URL a una ubicaci&oacute;n del sistema de ficheros usando
una expresi&oacute;n regular y designa el destino como un script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>ScriptAliasMatch <var>regex</var>
<var>file-path</var>|<var>directory-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">M&oacute;dulo:</a></th><td>mod_alias</td></tr>
</table>
<p>Esta directiva es equivalente a
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, pero hace uso de
<a class="glossarylink" href="../glossary.html#regex" title="ver glosario">expresiones regulares</a>,
en lugar de comparaciones simples de prefijo. La expresi&oacute;n regular facilitada se compara con el URL-path, y si coincide, el servidor sustituye cualquier coincidencia entre par&eacute;ntesis con la cadena de caracteres facilitada y la usa como el nombre de fichero. Por ejemplo, para activar el est&aacute;ndar
<code>/cgi-bin</code>, uno podr&iacute;a usar:</p>
<pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
<p>En cuanto a AliasMatch, puede usar toda la capacidad que le permiten las
<a class="glossarylink" href="../glossary.html#rexex" title="ver glosario">expresiones regulares</a>.
Por ejemplo, es posible construir un alias con comparaci&oacute;n insensible
a may&uacute;sculas del URL-path:</p>
<pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
<p>Las consideraciones relacionadas con las diferencias entre
<code class="directive"><a href="#alias">Alias</a></code> y
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>
tambi&eacute;n aplican a las diferencias entre
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> y
<code class="directive">ScriptAliasMatch</code>.
Vea <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> para m&aacute;s
detalles.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Idiomas disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/mod_alias.html" title="Espa&ntilde;ol">&nbsp;es&nbsp;</a> |
<a href="../fr/mod/mod_alias.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licencia bajo los t&eacute;rminos de la <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">M&oacute;dulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Reportar un error</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
document.body.appendChild(qv);
var qvBtn = document.createElement('button');
qvBtn.className = 'qv-toggle';
qvBtn.setAttribute('aria-label', 'Toggle page navigation');
qvBtn.innerHTML = '&#9776;';
document.body.appendChild(qvBtn);
qvBtn.addEventListener('click', function() {
var isOpen = qv.classList.toggle('open');
if (isOpen) {
qv.style.top = window.scrollY + 10 + 'px';
}
});
window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>