Mei

11

Menselijke creaties zijn als wijzelf - onvolmaakt. Het voorkomen van fouten, hetzij veroorzaakt door de surfer of door programmeur, is onvermijdelijk. Maar het is onze taak om de beperking van de schade, het beste wat te doen wanneer er een fout optreedt is om te buigen browsers die ervaring een 404-fout (niet gevonden) om het bestand "error.php 'gelegen op de root van de server. Met een beetje PHP codering kunt u dit bestand naar alle foutcodes, die zal ze gemakkelijker te beheren.

De volledige (en zeer lange) lijst van fouten is hier beschikbaar: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Enkele van de meest voorkomende fouten zul je waarschijnlijk willen maken vermeldingen voor zijn:

400 - Bad Request
401 - Unauthorized
403 - Verboden
404 - Not Found
500 - Internal Server Error

. htaccess

Voor de vangst van deze fouten, voegt u het volgende aan. Htaccess voor het domein dat u wilt configureren:

  ErrorDocument 400 / error.php 
  ErrorDocument 401 / error.php 
  ErrorDocument 403 / error.php 
  ErrorDocument 404 / error.php 
  ErrorDocument 500 / error.php 

error.php


Daarna, in error.php, voeg iets als het volgende. Dit voorbeeld is gemaakt voor een wordpress site, en als iemand gaat naar http://www.example.com/Foo en de pagina is niet gevonden, worden ze doorgestuurd naar de pagina met zoekresultaten http://www.example. nl / index.php? s = Foo. Alles wat na de laatste "/" wordt uitgegaan van een zoekterm ze proberen te bereiken.

  <! - p 
  / / Dit is vooral handig bij 404 om aan te geven dat de ontbrekende pagina. 
  $ 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 [ "path"]); 

  schakelaar (getenv ( "REDIRECT_STATUS")) 
  ( 
	  # "400 - Bad Request" 
	  geval 400: 
	  $ error_code = "400 - Bad Request"; 
	  $ uitleg = "De syntaxis van de URL die door uw browser niet kan worden begrepen."; 
	  $ uitleg .= "Controleer het adres en probeer het opnieuw."; 
	  $ redirect_to = ""; 
	 break; 

	  # "401 - Unauthorized" 
	  geval 401: 
	  $ error_code = "401 - Unauthorized"; 
	  $ uitleg = "Dit punt vereist een wachtwoord of anderszins beschermd."; 
	  $ uitleg .= "Als u denkt dat u op deze pagina terecht fout"; 
	  $ uitleg .= "gaat u terug naar de login-pagina en probeer het opnieuw"; 
	  $ uitleg .= "of neem contact op met de webmaster indien u nog problemen hebben."; 
	  $ redirect_to = ""; 
	 break; 

	  # "403 - Verboden" 
	  geval 403: 
	  $ error_code = "403 - Verboden"; 
	  $ uitleg = "Dit punt vereist een wachtwoord of anderszins beschermd."; 
  	  $ uitleg .= "Als u denkt dat u op deze pagina terecht fout"; 
	  $ uitleg .= "gaat u terug naar de login-pagina en probeer het opnieuw"; 
	  $ uitleg .= "of neem contact op met de webmaster indien u nog problemen hebben."; 
	  $ redirect_to = ""; 
	 break; 

	  # "404 - Not Found" 
	  geval 404: 
	  $ error_code = "404 - Not Found"; 
	  $ uitleg = "De gevraagde resource '.  $ page_redirected_from.  " '"; 
	  $ uitleg .= "kon niet worden gevonden op deze server."; 
	  $ uitleg .= "Controleer het adres en probeer het opnieuw."; 
	  $ redirect_to = $ server_url. "? s =".  $ end_of_path; 
	 break; 

	  # "500 - Internal Server Error" 
	  geval 500: 
	  $ error_code = "500 - Internal Server Error"; 
	  $ uitleg = "De server ervaren een onverwachte fout."; 
	  $ uitleg .= "Controleer het adres en probeer het opnieuw."; 
	  $ 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> Foutcode <! - p print ($ error_code );--></ h1> 
  De <a href="http://en.wikipedia.org/wiki/Uniform_resource_locator" onclick="javascript:pageTracker._trackPageview ('/outbound/en.wikipedia.org');"> URL </ a> u gevraagd werd niet gevonden.  <! - P echo ($ uitleg );--> 

  <strong> Heb je bedoelt met het type <a href="http://www.blog.highub.com/wp-admin/%3C?php print ($redirect_to); ?> "><!-- p print ( $ redirect_to );--></ a> </ strong> 
  U wordt automatisch omgeleid er in vijf seconden. 

  U kunt ook proberen vanaf de home page: <a href="http://www.blog.highub.com/wp-admin/%3C?php print ($server_url); ?> "><!- -p print ($ server_url );--></ a> 
  <HR /> 

  <em> Een project van <a href="http://www.blog.highub.com/wp-admin/%3C?php print ($server_url); ?> "><!-- p print ($ server_url );--></ a>. </ em> 

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



Soortgelijke Posten

Reacties

Naam (verplicht)

E-mail (verplicht)

Website

Spreek je gedachten

1 Reactie tot nu toe

  1. m0dk1d op 21 mei 2008 10:36

    zeer uitgebreid, thanks!

Sponsors




Links