iTank ideas

Usar Apache RewriteRule para redirecciones

Apunto cómo hacer una redireccion http 301 con Apache2 sobre Ubuntu Server, para un caso simple y luego para mi caso particular.
Que conste que hay formas distintas de hacer esto e igualmente válidas, pero a mi es la que me ayudó a ir migrando poco a poco ciertos contenidos a una nueva localización sin perder visitantes y con cierta trazabilidad.

Asumimos que el servidor web apache2 tine habilitado el módulo mod_rewrite y si no es así, lo activamos:

# a2enmod rewrite
# systemctl restart apache2

Caso 1: Supongamos que una galeria de fotos que residía en
http://www.dominio.com/galerias/20200520-los-peques-en-la-playa
ha cambiado a
http://nuevodominio.net/galerias/20200520-los-peques-en-la-playa

Para que los visitantes de la primera URL sean redirigidos automaticamente a la nueva creamos vía ftp o ssh un fichero .htaccess en el root de www.dominio.com/galerias/ y añadimos esta regla


mod_rewrite
RewriteRule 20200520-los-peques-en-la-playa http://nuevodominio.net/galerias/20200520-los-peques-en-la-playa [R=301,L]

El flag R=301 declara el tipo de redireccion como 301 Permanent y la L hace que no se procesen más reglas.

tras practicar con el caso básico, pasamos a un caso un

Caso 2: Usando comodines y pasando el nombre del directorio origen al destino

RewriteRule ^20200520-(.*) http://nuevodominio.net/galerias/?pk-campaign=oldGaleries&pk_kwd=$1 [R=301,L]

El gorrito ^ representa cualquier carácter y el (.*) enviará la parte de la url restante en el parámetro $1

lo que produce una URL destino http://nuevodominio.net/galerias/?pk-campaign=oldGaleries&pk_kwd=los-peques-en-la-playa

Esto me ayuda a ir migrando progresivamente las galerías y saber en el CMS destino cual fue la galería origen de la redirección gracias a las campañas de mi herramienta de analítica web.

La documentacion de Apache sobre el módulo rewrite (mod_rewrite)