Maggio

11

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> 

Digg Facebook Google Newsvine Reddit Slashdot Technorati Windows Live Yahoo del.icio.us



Interventi simili

Commenti

Nome (richiesto)

E-mail (obbligatorio)

Sito web

Parlare la vostra mente

1 Commento finora

  1. m0dk1d il giorno 21 Maggio, 2008 10:36 am

    molto esauriente, grazie!

Sponsor




Links