2012-08-29 12 views
5

Parece que es fácil crear una página de error personalizada en WordPress para una página incorrecta, es decir, un 404 no encontrado, simplemente cree 404.php en el directorio del tema.Wordpress: ¿cómo agregar una página de error personalizada de 500 servidores?

me gustaría hacer lo mismo por un error del servidor, dicen que si un script CGI en mi sitio de Wordpress hace algo estúpido como dividir por 0.

He intentado crear una página 500.php en mi directorio del tema pero parece ser ignorado. En cambio, se llama a la página 404.php en el directorio de temas.

Parece que de alguna manera Wordpress captura el error del servidor y la traduce en un error de "no encontrado" y luego usa 404.php

¿Cómo puedo hacer Wordpress ir a una página personalizada diferente en caso de un error del servidor (500), a diferencia de un error de página simple no encontrada (404)?

Y antes de decirme que ponga algo como ErrorDocument 500/path-to-custom-error-page en un archivo .htaccess, ya lo intenté - es ignorado por el servidor web, probablemente porque las directivas RewriteRule en el Wordpress utiliza el mismo archivo para interceptar y gestionar todas las solicitudes (y no, no importa si la directiva ErrorDocument está encima o debajo de la sección Wordpress RewriteRule).

(Nota:. He intentado investigar esto por mi cuenta, pero los resultados de búsqueda están contaminadas por la gente quejándose de conseguir errores del servidor con Wordpress, no preguntar cómo crear una página personalizada para manejarlos)

Respuesta

4

WordPress nunca podrá mostrar su página de error personalizada para un error de servidor (500). Necesita crear una página .html o PHP, fuera de WordPress. Es posible que su anfitrión ya tenga algo para ayudarlo, muchos tienen una carpeta en la que puede colocar páginas de error personalizadas, fuera de la carpeta raíz del sitio web.

+0

¿Cómo hacer esto en localhost ?? –

0

ErrorDocument 500 … debería funcionar en cualquier caso si la ruta es correcta. Desactive las reglas de reescritura de WordPress, produzca un error 500, y Apache debería mostrar /path-to-custom-error-page o decir que no puede encontrarlo.

+0

Me parece que esto solo aborda 500 páginas estáticas. Personalmente prefiero declarar tanto estática (si hay un problema entre apache y la tecnología que está utilizando) como dinámica (si la comunicación entre apache y la tecnología subyacente es correcta, y mientras procesa esa solicitud se encuentra con un error y desea mostrar información relacionado con el contexto de esa solicitud). – reallynice

+0

¿Cómo desactivar las reglas de reescritura de Wordpress? desactivar permalinks por completo? –

2

Desde WP 3.0 puede anular las páginas de error estándar que utiliza wp_die(), con el filtro wp_die_handler.

'wp_die' y 'wp_die_handler' están ubicados en wp-includes/functions.php.

+1

Aquí hay un [Gist] (https://gist.github.com/nat-c/9da451931441e62588d6) para cualquier persona que necesite algo como 'guía'. :) – Natalia

Cuestiones relacionadas