Para lo q querés hacer es necesario configurar el server. (La mayoría de los server pago lo hace). Necesitas crear un archivo .htaccess y en el poner lo siguiente
Código HTML:
ErrorDocument 400 /400.php <!--Será mostrada cuando se haga una petició inválida al servidor-->
ErrorDocument 401 /401.php <!--Será mostrada cuando sea necesario pedir identificación del usuario-->
ErrorDocument 403 /403.php <!--Será mostrada cuando el acceso a la página solicitada esté prohibido-->
ErrorDocument 404 /404.php <!--Será mostrada cuando se solicite una página inexistente en el servidor-->
ErrorDocument 500 /500.php <!--Será mostrada cuando se produzca un error interno en el servidor-->
Luego podrás usar en la página 404.php
Código PHP:
$_SERVER['HTTP_REFERER'];
Esto te dará la dirección desde donde el usuario quizó acceder, es decir
www.gabriel.com/noexiste.htm
Dicho archivo (.htaccess), solo es un redireccionador, es decir debes crear también las páginas donde vas a redireccionar, en este caso (400.php, 401.php, 403.php, 404.php y 500.php). O, obviamente una sola.
Saludos cuidate
Saludos cuidate