Página 1 de 1

Redireccionar a una pagina de error.

NotaPublicado: 2005-07-31 17:31 @771
por rorris
Buenas de nuevo. Quiero redireccionar desde una pagina de mi sitio a una de las paginas de error de apache, es decir, comprobar una serie de cosas y en funcion de ellas, "engañar" al usuario redireccionandole a una pagina de error ("Internal Server Error", por ejemplo) cuando en realidad no hay ningun error. Supongo que eso no sera muy complicado hacerlo, pero he probado varias cosas y no he dado con la solucion.

Gracias, mil gracias.

NotaPublicado: 2005-07-31 18:06 @796
por kidd
Hola:

Es muy sencillo lograr eso usando el módulo CGI.

Código: Seleccionar todo
use CGI qw(:standard);

print header('text/html','501 Server Error');


El primer párametro que mandas es el el content-type text/html el segundo párametro es el status 501 Server Error, que puede ser cualquiera de los "status codes" de http:
http://www.helpwithpcs.com/courses/html ... _codes.htm


SALUDOS

NotaPublicado: 2005-08-08 12:36 @566
por rorris
No funciona. No sale ningun error pero no redirige a la pagina de error, sale en blanco.

Les muestro mi script:

use CGI qw/:standard/;

print header('text/html','501 Server Error');
exit;

Gracias.

NotaPublicado: 2005-08-09 15:44 @697
por Perl user
rorris escribiste:No funciona. No sale ningun error pero no redirige a la pagina de error, sale en blanco.

Les muestro mi script:

use CGI qw/:standard/;

print header('text/html','501 Server Error');
exit;

Gracias.


Por qué mejor no creas una pequeña página personalizada de error y lo redirecciones hacia ella? Es una solución limpia y sencilla:

Código: Seleccionar todo
use CGI qw( :standard );

print redirect( -uri => 'http://foo.com/bar.html',
                -nph => 1,
                -status => 301
              );


o simplemente:
Código: Seleccionar todo
print redirect( 'http://foo.com/bar.html' );


Saludos,