2012-08-29 15 views
5

Sembra facile creare una pagina di errore personalizzata in Wordpress per una pagina errata, ovvero un 404 non trovato: è sufficiente creare 404.php nella directory dei temi.Wordpress - come aggiungere una pagina di errore del server 500 personalizzata?

mi piacerebbe fare lo stesso per un errore del server, ad esempio se uno script CGI sul mio sito Wordpress fa qualcosa di stupido come dividere per 0.

Ho cercato di creare una pagina 500.php nella mia cartella del tema ma sembra essere ignorato. Invece, viene chiamata la pagina 404.php nella directory dei temi.

Sembra che Wordpress cattura in qualche modo l'errore del server e lo traduce in un errore "non trovato" e quindi utilizza 404.php

Come posso fare Wordpress andare a una pagina personalizzata diversa in caso di un errore del server (500), a differenza di un errore di pagina semplice non trovato (404)?

E prima che tu mi dica di inserire qualcosa come ErrorDocument 500/path-to-custom-error-page in un file .htaccess, l'ho già provato - viene ignorato dal server web, probabilmente perché le direttive RewriteRule nel lo stesso file viene usato da Wordpress per intercettare e gestire tutte le richieste (e non importa se la direttiva ErrorDocument è sopra o sotto la sezione RewriteRule di Wordpress).

. (Nota: Ho provato la ricerca di questo per conto mio, ma i risultati della ricerca sono inquinate da persone che si lamentano ottenendo gli errori del server con Wordpress, non chiedere come creare una pagina personalizzata di gestirli)

risposta

4

WordPress non sarà mai in grado di mostrare la tua pagina di errore personalizzata per un errore del server (500). Devi creare una pagina .html o PHP, al di fuori di WordPress. Il tuo host potrebbe già avere qualcosa per aiutarti, molti hanno una cartella in cui puoi inserire pagine di errore personalizzate, al di fuori della cartella radice del sito.

+0

Come fare questo su localhost ?? –

0

ErrorDocument 500 … dovrebbe funzionare in ogni caso se il percorso è corretto. Disattiva le regole di riscrittura di WordPress, genera un errore 500 e Apache dovrebbe mostrare /path-to-custom-error-page o dire che non riesce a trovarlo.

+0

Mi sembra che questo indirizzi solo 500 pagine statiche. Personalmente preferisco dichiarare sia statico (se c'è un problema tra apache e la techologia che stai usando) che dinamici (se la comunicazione tra apache e la tecnologia sottostante va bene, e mentre elabora quella richiesta si verifica un errore e vuoi mostrare informazioni relativo al contesto di quella richiesta). – reallynice

+0

Come disattivare le regole di riscrittura di Wordpress? disabilitare completamente i permalink? –

2

Poiché WP 3.0 è possibile ignorare le pagine di errore standard utilizzate da wp_die(), con il filtro wp_die_handler.

'wp_die' e 'wp_die_handler' si trovano in wp-includes/functions.php.

+1

Ecco un [Gist] (https://gist.github.com/nat-c/9da451931441e62588d6) per chiunque abbia bisogno di qualcosa come 'guida'. :) – Natalia

Problemi correlati