Maio

11


Criações humanas são como nós - imperfeitos. A ocorrência de erro, se causados pelo surfista ou por um programador, é inevitável. Mas é nosso trabalho fazer o dano controlo, a melhor coisa a fazer quando ocorre um erro é para redirecionar navegadores experiência que um erro 404 (Not Found) para o arquivo "error.php" localizado na raiz do servidor. Com um pouco de código PHP é possível criar este arquivo para lidar com todos os códigos de erro que irá torná-los mais fáceis de gerir.

O processo completo (e muito longa) lista de erros está disponível aqui: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Alguns dos erros mais comuns provavelmente vai querer fazer entradas, são:

400 - Solicitação inválida
401 - Não autorizado
403 - Proibido
404 - Not Found
500 - Internal Server Error

. htaccess

Para pegar esses erros, é necessário adicionar o seguinte a. Htaccess para o domínio que você gostaria de configurar:

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

error.php

Em seguida, em error.php, adicionar algo como o seguinte. Este exemplo particular é feito para um site wordpress, e se alguém vai para a página da http://www.example.com/Foo e não encontrados, eles são redirecionados para o resultado da pesquisa página http://www.example. com.br / index.php? s = Foo. Qualquer coisa depois do último "/" é assumido como sendo um termo de pesquisa que estavam tentando obter a.

  <! - p 
  / / Este é especialmente útil com o erro 404 para indicar a página em falta. 
  page_redirected_from $ = $ _SERVER [ 'REQUEST_URI']; 
  server_url $ = "http://".  $ _SERVER [ "SERVER_NAME"]. "/"; 
  redirect_url $ = $ _SERVER [ "REDIRECT_URL"]; 
  parse_url $ redirect_url_array = ($ redirect_url); 
  end_of_path $ = str_replace ("/", "", $ redirect_url_array [ "caminho"]); 

  switch (getenv ( "REDIRECT_STATUS")) 
  ( 
	  # "400 - Bad Request" 
	  caso 400: 
	  $ error_code = "400 - Bad Request"; 
	  $ explicação = "A sintaxe da URL apresentada pelo seu navegador não pôde ser compreendido."; 
	  $ explicação .= "Queira verificar o endereço e tente novamente."; 
	  $ redirect_to = ""; 
	 break; 

	  # "401 - Não autorizado" 
	  caso 401: 
	  $ error_code = "401 - Não autorizado"; 
	  $ explicação = "Esta parte necessita de uma senha ou que se encontra protegida."; 
	  $ explicação .= "Se você achar que chegou até esta página por erro,"; 
	  $ explicação .= "volte para a página de login e tente novamente,"; 
	  $ explicação .= "ou entre em contato com o webmaster se você continuar a ter problemas."; 
	  $ redirect_to = ""; 
	 break; 

	  # "403 - Proibido" 
	  caso 403: 
	  $ error_code = "403 - Proibido"; 
	  $ explicação = "Esta parte necessita de uma senha ou que se encontra protegida."; 
  	  $ explicação .= "Se você achar que chegou até esta página por erro,"; 
	  $ explicação .= "volte para a página de login e tente novamente,"; 
	  $ explicação .= "ou entre em contato com o webmaster se você continuar a ter problemas."; 
	  $ redirect_to = ""; 
	 break; 

	  # "404 - Not Found" 
	  caso 404: 
	  $ error_code = "404 - Not Found"; 
	  $ explicação = "O recurso solicitado '".  $ page_redirected_from.  " '"; 
	  $ explicação .= "não pôde ser encontrado neste servidor."; 
	  $ explicação .= "Queira verificar o endereço e tente novamente."; 
	  redirect_to = $ $ server_url. "? s =".  $ end_of_path; 
	 break; 

	  # "500 - Internal Server Error" 
	  caso 500: 
	  $ error_code = "500 - Internal Server Error"; 
	  $ explicação = "O servidor experimentou um erro inesperado."; 
	  $ explicação .= "Queira verificar o endereço e tente novamente."; 
	  $ redirect_to = ""; 
	 break; 
  ) 
  -> 

  <! - Ctype html PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / PT" 
	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--> 

  <! - p 
	  if (strcmp ($ redirect_to, "")! = 0) 
	  ( 
  -> 

  <! - p 
	  ) 
  -> 
  <h1> Código de erro <! - p print ($ error_code );--></ h1> 
  A <a href="http://en.wikipedia.org/wiki/Uniform_resource_locator" onclick="javascript:pageTracker._trackPageview ('/outbound/en.wikipedia.org');"> URL </ a> você solicitou não foi encontrado.  <! - P echo ($ explicação );--> 

  <strong> Você quis dizer que tipo <a href="http://www.blog.highub.com/wp-admin/%3C?php imprimir ($redirect_to); ?> "><!-- p print ( redirect_to $ );--></ a>? </ strong> 
  Você será automaticamente redirecionado lá em cinco segundos. 

  Você também pode querer experimentar, a partir da página inicial: <a href="http://www.blog.highub.com/wp-admin/%3C?php imprimir ($server_url); ?> "><!- p-print ($ server_url );--></ a> 
  <hr /> 

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

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



Similar Posts

Comentários

Nome (obrigatório)

E-mail (obrigatório)

Website

Diga a sua opinião

1 comentário até agora

  1. m0dk1d em 21 de maio de 2008 10:36 am

    muito abrangente, muito obrigado!

Patrocinadores




Ligações