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)