Crear redirección de dominio excluyendo directorios

En caso de querer crear una redirección, ya sea por cambio de dominio, localización de la web u otro motivo, es posible que te encuentres con el escenario de que dentro de dicho dominio sigue habiendo aplicaciones o directorios sobre las que se debe tener acceso, por ejemplo una intranet que no cambiará de ruta.

Para evitar que la redirección afecte a nuestro directorio podemos excluirlo usando reglas avanzadas por medio de ModRewrite.

En este caso ejemplo, vamos a redireccionar a nuevodominio.com, pero vamos a excluir de esa redirección el directorio intranet.

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/intranet/
RewriteRule (.*) https://nuevodominio.com [R=301,L]

Estas reglas se añadirían al inicio del .htaccess del directorio asociado al dominio o ruta que vamos a redireccionar, en caso de querer excluir múltiples directorios, podemos clonar la línea donde aparece "intranet" tantas veces como se necesite, cambiando el nombre del directorio por el deseado.

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/directorio_1/
RewriteCond %{REQUEST_URI} !^/directorio_2/
RewriteCond %{REQUEST_URI} !^/directorio_3/
RewriteRule (.*) https://nuevodominio.com [R=301,L]