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


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

Supongamos que está rediseñando el sitio 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, tal vez un Una más robusta.

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 asset.pdf se ha movido de /var/www/html en 192.168.0.100 (nombre de host: < strong> web ) en la misma ubicación en 192.168.0.101 (nombre de host: web2 ).

Para que los usuarios accedan a este archivo cuando navegan a 192.168.0.100/assets.pdf , abra el archivo de configuración de Apache en 192.168.0.100 y añada 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 es un marcador de posición para cualquier cosa que coincida con la expresión regular entre paréntesis.

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

En lo que sigue a continuación, podemos ver que la solicitud que se realizó para asset.pdf en 192.168.0.100 en realidad fue 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 finalizar, le sugiero que eche un vistazo a la guía mod_rewrite y a la guía de redireccionamiento de Apache para futuras referencias.

Como siempre, siéntase libre de usar el formulario de comentarios a continuación si tiene alguna duda sobre este artículo. ¡Esperamos con interés escuchar de usted!