{"id":31,"date":"2009-01-15T14:27:52","date_gmt":"2009-01-15T14:27:52","guid":{"rendered":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/gestione-degli-errori-400-e-500-col-server-apache\/"},"modified":"2009-01-15T14:27:52","modified_gmt":"2009-01-15T14:27:52","slug":"gestione-degli-errori-400-e-500-col-server-apache","status":"publish","type":"post","link":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/2009\/01\/15\/gestione-degli-errori-400-e-500-col-server-apache\/","title":{"rendered":"Gestione degli errori 400 e 500 col Server Apache"},"content":{"rendered":"<p>In caso di errori si possono definire dei comportamenti per il server Apache, in particolare per gli errori della famiglia HTTP 4xx e 5xx.<\/p>\n<p>Prima di tutto va attivata la direttiva <em>errorlog<\/em> anche se solitamente viene preconfigurata durante l&#8217;installazione di apache.<\/p>\n<p>Il valore standard solitamente \u00e8: ErrorLog logs\/error.log<\/p>\n<p>Di default, se viene generato un errore,i appare un messaggio del server tipo:<\/p>\n<p>&#8220;500 &#8211; Internal Server Error&#8221; oppure il classico &#8220;404 page not found&#8221;<\/p>\n<p>Che informa di un errore del server che pu\u00f2 essere dovuto a molti fattori oppure, nel secondo caso, che si sta cercando una risorsa che non esiste.<\/p>\n<p>Si pu\u00f2 modificare tale messaggio mediante la direttiva ServerSignature scegliendo tra una delle tre opzioni a disposizione: <strong>On\/Off\/Emai<\/strong>l.<\/p>\n<p>Di default \u00e8 impostata su <strong>On<\/strong> restituendo a fine pagina la versione del server ecc;<\/p>\n<p>Mettendo <strong>Off<\/strong> invece si disabilita l&#8217;informazione a pi\u00e8 di pagina<\/p>\n<p>In fine con<strong> EMail<\/strong> si attiva il link sul nome del server che riporta alla Email configurata in ServerAdimin.<\/p>\n<p>Questo metodo \u00e8 piuttosto tecnico e non garantisce un elevato livello di user-friendly.<\/p>\n<p>Una scelta migliore \u00e8 quella di definire una pagina di errore creata ad hoc per informare l&#8217;utente di cosa \u00e8 successo, lasciandogli cos\u00ec una sensazione di minore gravit\u00e0 e la possibilit\u00e0 di continuare a navigare sereno nel sito.<\/p>\n<p>Gli errori pi\u00f9 frequenti sono della famiglia 4xx (risorsa non disponibile):<\/p>\n<p><strong> 400<\/strong>: La richiesta non pu\u00f2 essere soddisfatta dal server per via di un errore di sintassi.<br \/>\n<strong>401<\/strong>: Errore di sintassi o richiesta impossibile da soddisfare perch\u00e9 \u00e8 stata richiesta l\u2019autenticazione<br \/>\ndell\u2019utente.<br \/>\n<strong>402<\/strong>: E\u2019 richiesto un pagamento al fine di soddisfare tale richiesta.<br \/>\n<strong>403<\/strong>: La richiesta effettuata \u00e8 proibita oppure non hai i permessi idonei per tale richiesta.<br \/>\n<strong>404<\/strong>: La richiesta non pu\u00f2 essere soddisfatta in quanto il file richiesto non esiste.<\/p>\n<p>Gli errori pi\u00f9 frequenti sono della famiglia 5xx (errore interno del server):<\/p>\n<p><strong>500<\/strong>: Il server ha incontrato una condizione inaspettata.<br \/>\n<strong> 501<\/strong>: Il server non sopporta il servizio richiesto.<br \/>\n<strong> 502<\/strong>: Il server \u00e8 temporaneamente sovraccarico di richieste da parte di altri utenti, provate a collegarvi tra qualche minuto.<br \/>\n<strong>503<\/strong>: Il server tentando di accedere ad altri servizi non ottiene alcuna risposta.<\/p>\n<p>Gli errori elencati coprono la quasi totalit\u00e0 di quelli che si incontrano fruendo un sito web.<\/p>\n<p>Un buon sito dovrebbe avere una pagina di errore ad hoc almeno per una delle due tipologie di errore.<\/p>\n<p>Arriviamo al concreto, la sintassi per associare una pagina di cortesia ad un errore rilevato da Apache \u00e8 la seguente:<\/p>\n<p>ErrorDocument 400 <a href=\"http:\/\/tuohost\/errore\/400.html\">http:\/\/tuoHost\/errore\/400.html<\/a><br \/>\nErrorDocument 402 <a href=\"http:\/\/tuohost\/errore\/402.html\">http:\/\/tuoHost\/errore\/402.html<\/a><br \/>\nErrorDocument 403 <a href=\"http:\/\/tuohost\/errore\/403.html\">http:\/\/tuoHost\/errore\/403.html<\/a><br \/>\nErrorDocument 404 <a href=\"http:\/\/tuohost\/errore\/404.html\">http:\/\/tuoHost\/errore\/404.html<\/a><br \/>\nErrorDocument 500 <a href=\"http:\/\/tuohost\/errore\/500.html\">http:\/\/tuoHost\/errore\/500.html<\/a><br \/>\nErrorDocument 501 <a href=\"http:\/\/tuohost\/errore\/501.html\">http:\/\/tuoHost\/errore\/501.html<\/a><br \/>\nErrorDocument 502 <a href=\"http:\/\/tuohost\/errore\/502.html\">http:\/\/tuoHost\/errore\/502.html<\/a><br \/>\nErrorDocument 503 <a href=\"http:\/\/tuohost\/errore\/503.html\">http:\/\/tuoHost\/errore\/503.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In caso di errori si possono definire dei comportamenti per il server Apache, in particolare per gli errori della famiglia HTTP 4xx e 5xx. Prima di tutto va attivata la direttiva errorlog anche se solitamente viene preconfigurata durante l&#8217;installazione di apache. Il valore standard solitamente \u00e8: ErrorLog logs\/error.log Di default, se viene generato un errore,i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[16],"tags":[27,28,65,66,67,68,71,90,91,100,120],"class_list":["post-31","post","type-post","status-publish","format-standard","hentry","category-web-server","tag-apache","tag-apache-web-server","tag-error-document","tag-errori","tag-errori-400","tag-errori-500","tag-errorlog","tag-gestione-errori","tag-gestione-errori-apache","tag-http","tag-log-di-errori"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/posts\/31"}],"collection":[{"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":1,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":185,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/posts\/31\/revisions\/185"}],"wp:attachment":[{"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.vincenzoscognamiglio.it\/informatica\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}