Yo una vez hice algo parecido y no quise proponerte mi solución porque pensé que era más complicado lo que querías. Aquí dejo mi aporte, es una traducción y adaptación a mis necesidades.
Solución
Después de una larga busqueda que duró casi un día encontramos la respuesta en un blog (creditos al final) y aquí la tenemos:
Código PHP:
Ver original<?php
$redirect = false;
$path = $_SERVER['REQUEST_URI'];
if ($path == '/oldpath.php') {
$path = '/newpath';
$redirect = true;
}
$url = $_SERVER['HTTP_HOST'];
if ($url!='http://viejositio.com') {
$redirect = true;
}
if ($redirect==true){
header('HTTP/1.1 301 Moved Permanently'); header('Location: http://nuevositio.com' .$path); }
?>
Cada vez que alguien pide una página que fue movida al dominio nuevo, este script en php redirige al navegador automaticamente, de ese modo no perdemos ninguna visita y tampoco causamos molestias a los usuarios. Otra ventaja es que si alguien busca algo que no se encuentra en el sitio viejo ni en el nuevo, el scrip no interfiere con la página de error 404 del sitio viejo ni del nuevo y se muestra el archivo 404 por defecto sin ningún problema. Además, por ser un script en php es tan rápido que el usuario ni siquiera nota que ha sido redirigido y lo mejor es que no necesitas tener acceso al direcrotio raíz del servidor. Casi lo olvido es lo ideal para no afectar al SEO de la página ni el page rank.
Explicación del código (opcional)
Código PHP:
Ver original<?php <!-- comienza el script en php -->
$redirect = false; <!-- asigna la variable "false" $redirect -->
$path = $_SERVER['REQUEST_URI']; <!-- asigna la url que pidio el usuario a la variable $path -->
if ($path == '/oldpath.php') { <!-- pregunta si $path es igual a /oldpath.php de no ser así entonces -->
$path = '/newpath'; <!-- asigna /newpath a $path -->
$redirect = true; <!-- asigna true a redirect y redirije -->
}
$url = $_SERVER['HTTP_HOST']; <!-- asigna la url que pidio el usuario a la variable $url -->
if ($url!='http://viejositio.com') { <!-- si se asigna http://viejositio.com a la variable url entonces -->
$redirect = true; <!-- redirige -->
} <!-- se cierra la condición -->
if ($redirect==true){ <!-- si se redirije la página entonces -->
header('HTTP/1.1 301 Moved Permanently'); <!-- avisa al navegador o a google que la p
ágina fue movida --> header('Location: http://nuevositio.com' .$path); <!-- redirije el navegador a la direcci
ón http://nuevositio.com más lo que tenga la variable $path --> } <!-- fin de la condición -->
?> <!-- cierra el scrip de php -->
Esto me funcionó perfecto desde el primer intento si alguien tiene alguna duda que pregunte, será un gusto ayudarles. Cualquier corrección les ruego me hagan saber.
Créditos del script original en PHP:
fl1p