Maggio
11
Creare pagine di errore personalizzate utilizzando PHP htaccess
11 maggio 2008 |
Creazioni umane sono come noi - imperfetto. Il verificarsi di errori, se causato dal navigatore o dal programmatore, è inevitabile. Ma è nostro compito fare il danno di controllo, la cosa migliore da fare quando si verifica un errore è quello di reindirizzare i browser che l'esperienza un errore 404 (non trovato) per il file "error.php" che si trova nella directory principale del server. Con un po 'di PHP codifica è possibile impostare questo file per gestire tutti i codici di errore che li renderà più facile da gestire.
La completa (e molto lungo) l'elenco degli errori è disponibile qui: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Alcuni dei più comuni errori probabilmente vi vuole fare per le voci sono:
400 - Richiesta non valida
401 - non autorizzata
403 - Accesso negato
404 - Not Found
500 - Errore interno del server
. htaccess
Per la cattura di tali errori, si dovrebbe aggiungere quanto segue a. Htaccess per il dominio che desideri configurare:
ErrorDocument 400 / error.php ErrorDocument 401 / error.php ErrorDocument 403 / error.php ErrorDocument 404 / error.php ErrorDocument 500 / error.php
error.php
Poi, nel error.php, aggiungere qualcosa come il seguente. Questo particolare esempio è fatto per un sito wordpress, e se qualcuno va a http://www.example.com/Foo e della pagina non trovata, vengono reindirizzati alla pagina dei risultati di ricerca http://www.example. it / index.php? s = foo. Tutto ciò dopo l'ultimo "/" si presume essere un termine di ricerca che stavano cercando di raggiungere.
<! - p / / Questo è particolarmente utile con errore 404 per indicare la pagina mancante. page_redirected_from $ = $ _SERVER [ 'REQUEST_URI']; server_url $ = "http://". $ _SERVER [ "SERVER_NAME"]. "/"; redirect_url $ = $ _SERVER [ "REDIRECT_URL"]; redirect_url_array $ = parse_url ($ redirect_url); end_of_path $ = str_replace ("/", "", $ redirect_url_array [ "percorso"]); switch (getenv ( "REDIRECT_STATUS")) ( # "400 - Richiesta non valida" caso 400: error_code $ = "400 - Richiesta non valida"; spiegazione $ = "La sintassi del presentata l'URL dal tuo browser potrebbe non essere capito."; $ spiegazione .= "Si prega di verificare l'indirizzo e riprovare."; redirect_to $ = ""; break; # "401 - Non autorizzato" caso 401: error_code $ = "401 - Non autorizzato"; spiegazione $ = "Questa sezione richiede una password o altrimenti protetti."; $ spiegazione .= "Se ritieni di aver raggiunto questa pagina per errore,"; $ spiegazione .= "ti suggeriamo di tornare alla pagina di accesso e riprova"; $ spiegazione .= "o contattare il webmaster se si continuano ad avere problemi."; redirect_to $ = ""; break; # "403 - Accesso negato" caso 403: error_code $ = "403 - Accesso negato"; spiegazione $ = "Questa sezione richiede una password o altrimenti protetti."; $ spiegazione .= "Se ritieni di aver raggiunto questa pagina per errore,"; $ spiegazione .= "ti suggeriamo di tornare alla pagina di accesso e riprova"; $ spiegazione .= "o contattare il webmaster se si continuano ad avere problemi."; redirect_to $ = ""; break; # "404 - Not Found" caso 404: error_code $ = "404 - Not Found"; spiegazione $ = "La risorsa richiesta '". $ page_redirected_from. " '"; $ spiegazione .= "non poteva essere trovato su questo server."; $ spiegazione .= "Si prega di verificare l'indirizzo e riprovare."; redirect_to = $ $ server_url. "? s =". $ end_of_path; break; # "500 - Errore interno del server" caso 500: error_code $ = "500 - Errore interno del server"; spiegazione $ = "Il server ha sperimentato un errore imprevisto."; $ spiegazione .= "Si prega di verificare l'indirizzo e riprovare."; redirect_to $ = ""; break; ) -> <! - CType html PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--> <! - p if (strcmp ($ redirect_to, "")! = 0) ( -> <! - p ) -> <h1> Codice errore <! - p stampa ($ error_code );--></ h1> Il <a href="http://en.wikipedia.org/wiki/Uniform_resource_locator" onclick="javascript:pageTracker._trackPageview ('/outbound/en.wikipedia.org');"> URL </ a> che hai richiesto non è stato trovato. <! - P echo ($ spiegazione );--> <strong> Forse cercavi di tipo <a href="http://www.blog.highub.com/wp-admin/%3C?php stampa ($redirect_to); ?> "><!-- p stampa ( $ redirect_to );--></ a> </ strong> Ti verrà automaticamente reindirizzato esiste in cinque secondi. Si potrebbe anche voler provare a partire dalla home page: <a href="http://www.blog.highub.com/wp-admin/%3C?php stampa ($server_url); ?> "><!- -p stampa ($ server_url );--></ a> <hr /> <em> Un progetto di <a href="http://www.blog.highub.com/wp-admin/%3C?php stampa ($server_url); ?> "><!-- p stampa ($ server_url );--></ a>. </ em>
Interventi simili
- Htaccess per l'uso di reindirizzamento 404
- htaccess definire esplicitamente default file Indice
- htaccess condizionato loop di reindirizzamento
- Htaccess con l'uso del sito Manutenzione Pagina
- Blocco da alcune persone URL utilizzando htaccess
- Htaccess uso di falsificare diversi file con estensione
- htaccess per gzip più veloce di carico e della larghezza di banda Salvataggio
- Blocco IP utilizzando htaccess
- htaccess reindirizzare in modo permanente file o la directory
- Imposta fuso orario locale utilizzando htaccess
- htaccess richiede il WWW Per dominio URL
- Traduzione testuale di Google utilizzando htaccess
- Negare l'accesso a file con IVA incl htaccess
- Apache htaccess Impedire agli utenti di caricare ed eseguire file
- Rimuovere il file utilizzando l'estensione htaccess
- Htaccess uso di negare l'accesso Directory Listing
- htaccess Rimuovere il dominio www Da URL
- htaccess Limitare il numero di visitatori del tuo sito web
- Htaccess uso di negare l'accesso ai file nascosti
- Risorse utili mod_rewrite
- Forza di file come PDF per il download utilizzando htaccess
- htaccess Diractory negare l'accesso durante un determinato periodo di tempo
Commenti
1 Commento finora














molto esauriente, grazie!