Hacer una redirección 301 o 302 realmente no es algo que uno utilice o que piense que va a utilizar mucho o con mucha frecuencia. Sin embargo, con el tiempo quizás pueden surgir uno que otro evento que nos lleva a la necesidad de hacerlo, por una u otra circunstancia.
Pues bien, este es un pequeño tutorial en el que aprenderemos cómo hacer un redireccionamiento sin mayores problemas.
Redirección 301 con .htaccess
Como ya lo dijimos, para ello sólo vamos a necesitar agregar al final de nuestro .htaccess de Apache una línea de código que va a hacer todo el trabajo.
Redirigir sólo una página
Si sólo vamos a redirigir una página a un nuevo dominio o subdominio, podemos ingresar este código
redirect 301 /url_antigua.html
Para hacer esto basta con indicar la url de origen en forma relativa, mientras que la url de destino sí debe ser indicada en forma absoluta.
Redirigir todas las páginas a una sola página
Al crear una web uno puede crear muchas páginas o post. Si deseamos que todos y cada uno de ellos dirijan a una única url de destino, lo podemos hacer en forma masiva. Ejemplo de esto sería:
miweb.com/1 a ejemplo.com
miweb.com/2 a ejemplo.com
miweb.com/3 a ejemplo.com
miweb.com/4 a ejemplo.com
Como vemos, hay una redirecció masiva, de todas las url de un dominio a la raíz de otro dominio. Y lo logramos con sólo anexar al .htaccess esto:
redirectMatch 301 ^(.*)$ https://www.desarrolloweb.com
Redirección emparejada, o pareada
Ahora bien, quizás tenemos los mismos post y las mismas URL tanto en el origen como en el destino, quizás en otro dominio o subdominio, y deseamos hacer la redirección en forma masiva.
Un ejemplo de cómo funcionaría esto es así:
miweb.com/1 a ejemplo.com/1
miweb.com/2 a ejemplo.com/2
miweb.com/3 a ejemplo.com/3
miweb.com/4 a ejemplo.com/4
Pues bien, la solución es muy sencilla. Basta con anexar este fragmento de código:
redirectMatch 301 ^(.*)$ https://ejemplo.com$1
Se puede redireccionar tanto a un dominio como a un subdominio o subdirectorio, inclusive a un subdirectorio.
En este post hemos puesto los ejemplos con código 301 (que indica que se ha movido la url en forma permanente); sin embargo, sí es sólo temporal, podemos cambiar el 301 por el 302. Eso es todo. Espero les haya servido y, lo importante, que haya sido fácil de entender.