Redirección múltiple 301 con el archivo .htaccess

Abril 2016: Post recuperado de Aprendiendo PHP (web ya inactiva)
Un pequeño adelanto al re-arranque de Aprendiendo PHP

Valencia, 13/07/2013, G.B.
Bueno, como os he comentado hace un rato, voy a re-arrancar Aprendiendo PHP. Pero es una tarea ardua que me llevará más tiempo del que tiempo para estos menesteres… De todas formas, y como muestra de ‘buena voluntad’, os dejo un pequeño post acerca de la redirección 301 de un dominio, es decir, cómo redirigir un dominio antiguo a uno nuevo sin perder el posicionamiento web adquirido en el viejo. Para ello, debemos utilizar el archivo de configuración del servidor Apache que ya conocemos denominado .htacccess. Os dejo un pequeño ejemplo:

#Redirige un dominio antiguo a uno nuevo (o de un dominio a otro)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^indaga.net$ [NC]
RewriteRule ^(.*)$ http://www.indaga.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^indaga.net/blog$ [NC]
RewriteRule ^(.*)$ http://blog.indaga.net/$1 [R=301,L]

#En caso de error 404 página no encontrada), rediriges a una página de error personalizada
ErrorDocument 404 /404.html

En este caso, hemos redirigido la web http://indaga.net a la web http://www.indaga.net sin perder el posicionamiento web, al ser una redirección 301 (movido permanentemente). Así mismo, hemos redirigido en el mismo archivo .htaccess el directorio http://www.indaga,net(blog al subdominio http://blog.indaga.net, sin perder el posicionamiento web. Por supuesto, para ello deberemos crear primero el subdominio en el panel de control de nuestro hosting. Así, disponemos de una redirección 301 múltiple en un solo archivo de configuración. Simple, senciullo y efectivo, gracias a los desarrolladores de Apache.

Recordemos que el archivo .htaccess podemos crearlo con cualquier editor de texto plano y que siempre deberemos subirlo a la raíz de nuestro servidor web. Para más información al respecto: