A veces decidimos, por diversas razones, trasladar nuestro sitio web de url; bien porque cambiamos de dominio bien porque queremos poner el blog en un subdominio para colocar una página web en el raíz del sitio.

Si nuestro posicionamiento web es regular o no nos importa perderlo y empezar de cero, esto lo haríamos sin mayor complicación que mover el blog de sitio y esperar que google lo indexe de nuevo.

Ahora bien, si tenemos un buen posicionamiento, a nadie le gusta perderlo tras tantas horas de trabajo.

Para no perder nada de lo ya logrado en lo que a posicionamiento en buscadores o enlaces entrantes se refiere, se suele hacer una redirección 301. Nosotros vamos a hacer la redirección 301 con .htaccess.

Conociendo el fichero .htaccess

Para quien no lo sepa, el fichero .htaccess, como cualquier fichero que comienza con punto en linux, es un fichero oculto que contiene directivas para el servidor. Con él podemos, entre otras cosas, restringir el acceso a determinados archivos, impedir el listado de un directorio, redireccionar (Era obvio, ¿no?), personalizar las páginas de error (404, 505...) o impedir el acceso a determinadas IPs o rangos de IP (malditos bots de spam).

Redirección 301 con .htaccess

Una vez que sabemos un poquito de qué se trata el fichero .htaccess vamos a ver cómo hacer la redirección.

Podríamos decir, de manera muy simple, que htaccess funciona con "comandos".

El que vamos a utilizar nosotros es el redirect; más concretamente el redirect 301.

Una redirección simple (de una sola URL) se puede hacer con una línea como esta:
redirect 301 /url_antigua.html http://www.dominio-nuevo.com/url-nueva/

Pero eso nos serviría sólo para una url única; es decir, si nuestro sitio es un blog, sólo podríamos redireccionar el index.

También podemos hacer redirecciones masivas de cualquier URL de un dominio hacia un nuevo dominio:
redirectMatch 301 ^(.*)$ https://www.dariobf.com

Si colocamos la linea en un fichero .htaccess y lo insertamos en el raiz de un sitio web, cualquier url que pertenezca a ese dominio (al vinculado con ese alojamiento) redireccionará a Katharsix.

Esto es útil cuando, por ejemplo, ponemos un sitio en mantenimiento y no queremos mostrar otra cosa que no sea la página "en construcción" (cosa que, personalmente, no me gusta demasiado).

Pero nuestro cometido en esta entrada es clonar la URL hacia una nueva ruta (o dominio), por lo que lo deberíamos hacer con la siguiente instrucción:
redirectMatch 301 ^(.*)$ https://www.dariobf.com$1

Esto conseguirá que cualquier url del dominio actual sea redireccionada a la misma en el dominio especificado (en este caso katharsix). Por ejemplo: Supongamos que tenemos el dominio www.dominioantiguo.com y queremos que cualquier ruta de él, como ejemplo pondremos www.dominioantiguo.com/ruta_vieja, redireccione al dominio nuevo con la misma ruta; en este caso www.dariobf.com/ruta_vieja.

Con esta última instrucción logramos una redirección completa del sitio hacia una ruta nueva, de manera que podemos mudar nuestro dominio sin perder posicionamiento o enlaces entrantes ya que, google (para el posicionamiento) detectará la redirección y actualizará sus registros hacia nuestra nueva ruta y los enlaces entrantes estarán automáticamente redireccionados hacia nuestro nuevo dominio.