2010-06-09 15 views
5

Gracias a este foro, aprendí que la función de encabezado PHP en realidad no envía el encabezado al servidor Apache sino solo al cliente.PHP Force Apache error

Lo que quiero hacer es generar un error 500, y dejar que Apache muestre su página correspondiente. ¿Hay alguna manera de forzarlo?

¡Gracias de antemano! (y allez les bleus!)

+0

Hmm, don No sé si esto es posible. ¿Para qué quiere hacer esto y en qué punto desea generar el 500? –

+1

¿Y quiénes son esas personas azules a las que se refiere? ¿Están sufriendo de falta de oxígeno? ;) –

+0

en realidad, hicimos algunas páginas de error personalizadas de Apache, y estoy limpiando el manejo de errores de PHP, para tener una página de error única (que sería la de Apache) ... Trataré de escribir una mala directiva .htaccess (o cómo aprender a hacer algo mal a propósito ...) y sobre los bleus, supongo que oirás más al respecto el 11 de julio;) – Rolf

Respuesta

3

hacer una redirección a una dirección URL que causa una

500.

Por ejemplo una URL con una directiva .htaccess válido.

+0

gracias, intentaré hacerlo bien ahora ! – Rolf

+1

Me trataron de poner en el .htaccess en el archivo RewriteRule^error \ php $ /force_error_500.php [NC, R = 500] (force_error_500.php no existe) header ('Location: error. php '); Causa solo un 404 ... Supongo que olvidé un punto :( – Rolf

+0

Sí ... creo un archivo .htaccess NO VÁLIDO. El tuyo era válido :) – zaf

4

hay una manera de enviar un error 500 al navegador, pero se tendrá que proporcionar manualmente la página:

<?php 
header('HTTP/1.1 500 Internal Server Error'); 
echo <<<ERRORTEXT 
The server encountered an unexpected condition which prevented it 
from fulfilling the request. 
ERRORTEXT; 
// also notify server operator, maybe? 
exit; 
?> 
+0

gracias por su respuesta, pero tengo que utilizar las páginas de error de Apache ... – Rolf

0

Sólo hacer un script CGI roto:

// Don't include stdio 
int main() { 
    printf("This won't work.\n"); 
    return 0; 
}