Redirigir la URL de un sitio web de un servidor a un servidor diferente en Apache


Como prometimos en nuestros dos artículos anteriores (Mostrar contenido personalizado basado en el navegador), en esta publicación explicaremos cómo realizar una redirección a un recurso que se ha movido de un servidor a un servidor diferente en Apache usando el módulo mod_rewrite.

Suponga que está rediseñando el sitio de intranet de su empresa. Ha decidido almacenar el contenido y el estilo (archivos HTML, JavaScript y CSS) en un servidor y la documentación en otro, quizás uno más sólido.

Sin embargo, desea que este cambio sea transparente para sus usuarios para que aún puedan acceder a los documentos en la URL habitual.

En el siguiente ejemplo, un archivo llamado assets.pdf se movió de/var/www/html en 192.168.0.100 (nombre de host: web) a la misma ubicación en 192.168.0.101 (nombre de host: web2) .

Para que los usuarios accedan a este archivo cuando naveguen a 192.168.0.100/assets.pdf , abra el archivo de configuración de Apache en 192.168.0.100 y agregue la siguiente regla de reescritura (o también puede agregar la siguiente regla a su archivo .htaccess):

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

donde $1 es un marcador de posición para cualquier cosa que coincida con la expresión regular entre paréntesis.

Ahora guarde los cambios, no olvide reiniciar Apache y veamos qué sucede cuando intentamos acceder a assets.pdf navegando a 192.168.0.100/assets.pdf:

En lo anterior, a continuación, podemos ver que la solicitud que se realizó para assets.pdf en 192.168.0.100 fue realmente manejada por 192.168.0.101.

# tail -n 1 /var/log/apache2/access.log

En este artículo hemos discutido cómo realizar una redirección a un recurso que se ha movido a un servidor diferente. Para terminar, le sugiero que eche un vistazo a la guía de redireccionamiento de Apache para referencia futura.

Como siempre, no dude en utilizar el formulario de comentarios a continuación si tiene alguna inquietud sobre este artículo. ¡Esperamos con interés escuchar de usted!