Informática NumaBoa MASTERDicas - as dicas para webmasters
.htaccess - documentos de erro
webmaster NumaBoa



Requisições de Cliente bem sucedidas
200 OK
201 Criado (Created)
202 Aceito (Accepted)
203 Informação não autorativa (Non-Authorative Information)
204 Sem conteúdo (No Content)
205 Conteúdo resetado (Reset Content)
206 Conteúdo parcial (Partial Content)
Requisição de Cliente redirecionada
300 Escolhas múltiplas (Multiple Choices)
301 Mudado permanentemente (Moved Permanently)
302 Mudado temporariamente (Moved Temporarily)
303 Veja outras (See Other)
304 Não modificado (Not Modified)
305 Use Proxy (Use Proxy)
Erros
de Requisições de Cliente
400 Requisição viciada (Bad Request)
401 Requer autorização (Authorization Required)
402 Requer pagamento (Payment Required) *ainda não usada
403 Proibido (Forbidden)
404 Não encontrado (Not Found)
405 Método não permitido (Method Not Allowed)
406 Não aceitável (codificação) (Not Acceptable (encoding))
407 Requer autenticação proxy (Proxy Authentication Required )
408 Requisição vencida (Request Timed Out)
409 Requisição conflitante (Conflicting Request)
410 Acabou (Gone)
411 Requer comprimento do conteúdo (Content Length Required)
412 Falha na precondição (Precondition Failed)
413 Entidade requerida muito longa (Request Entity Too Long)
414 URI requerida muito longa (Request URI Too Long)
415 Tipo de mídia não suportado (Unsupported Media Type)
Erros
do Servidor
500 Erro interno do servidor (Internal Server Error)
501 Não implementado (Not Implemented)
502 Gateway viciado (Bad Gateway)
503 Serviço não disponível (Service Unavailable)
504 Gateway vencido (Gateway Timeout)
505 Versão HTTP não suportada (HTTP Version Not Supported)
..... DOCUMENTOS DE ERRO

A aplicação mais conhecida do arquivo .htaccess talvez seja, em casos de erro, de direcionar usuários para páginas de erro personalizadas. Digamos que um usuário solicite uma página inexistente - ele recebe a página padrão do sistema do seu servidor avisando-o do ocorrido. Para personalizar seu site, é possível criar suas próprias páginas de erro e, quando for o caso, direcionar os usuários para elas.

Para criar suas próprias páginas de erro é necessário que você conheça os códigos de erro retornados pelo servidor. Na coluna à direita você encontra todos os códigos de erro atualmente padronizados. É claro que não há necessidade de fazer páginas para cada um deles... na verdade, você nem deveria. Um documento de erro para o código 200 causaria um loop infinito cada vez que uma página fosse encontrada - uma nhaca!

Geralmente cria-se documentos de erro para os código 404 e 500, para páginas não encontradas e para poder controlar erros internos do servidor em scripts que estejam sendo utilizados. Também é interessante personalizar o erro 401 - Autorização Requerida - quando se tem áreas protegidas e o erro 403 - Proibido - quando se tem arquivos com permissão de uso bloqueada. Outra possibilidade seria tratar o erro 400 - Requisição Viciada - para capturar erros em scripts ou URLs malucas que um usuário possa tentar usar.

Para especificar seus próprios documentos de erro, tudo o que você precisa é adicionar o seguinte comando, em UMA LINHA, ao seu arquivo htaccess:

ErrorDocument code /diretorio/nomearquivo.ext
ou
ErrorDocument 404 /erros/naoencontrado.html
e, de forma análoga,
ErrorDocument 500 /erros/errointerno.html

Você pode usar os nomes que quiser para seus documentos de erro - para facilitar, recomendo que lembrem a função das mesmas - e colocá-los em qualquer diretório que seja acessível pela web através de uma URL. A primeira barra corresponde ao diretório raiz do site. Eu, pessoalmente, prefiro mantê-los num diretório próprio para facilitar a manutenção e para poder controlar spiders indexando estas páginas através de um arquivo ROBOTS.TXT.

Na hipótese de capturar todos os erros acima mencionados e direcionar o usuário para páginas específicas, o arquivo htaccess teria a seguinte configuração:


	ErrorDocument 400 /erros/badrequest.html
	ErrorDocument 401 /erros/authreqd.html
	ErrorDocument 403 /erros/forbid.html
	ErrorDocument 404 /erros/notfound.html
	ErrorDocument 500 /erros/serverr.html

Não se esqueça de que cada precisa estar numa linha única própria. Pode-se também especificar um endereço URL completo, como por exemplo http://seusite.com/erros/notfound.html, apesar de que a forma padrão é o endereçamento relativo como mostrado acima.

Acredite ou não, mas você também pode especificar HTML!


	ErrorDocument 401 "<body bgcolor=#ffffff>
	<h1>
	Você precisa <b>SER</b> um <a href="#">membro</a>
	para ver esta página!
	</h1>

Observe que, logo no início do código HTML, existem aspas. Observe também que, no final do código HTML, não há aspas. É assim mesmo que deve ser feito e, lembre-se, tudo numa única linha sem word wrap! Apesar de existir esta opção, você tem muito mais controle sobre páginas de erro quando usadas em conjunto com xSSI ou CGI ou ambos. Eu uso, por exemplo, uma página de erro 404 que, além da mensagem para o usuário, contém código PHP que me envia um e-mail com a indicação do documento faltante toda vez que a página é acessada. Se tiver curiosidade, dê uma olhada em Capturando erros do servidor.

Bem, para páginas personalizadas de erro isto é tudo. Experimente e divirta-se. É claro que um arquivo htaccess com estes comando deve ficar preferencialmente no diretório raiz para que possa capturar possíveis erros em qualquer setor do site.

..... EXEMPLOS DE CONFIGURAÇÃO

Índice htaccess
Documentos de erro
Proteção com senha
Ativar SSI
Bloquear IP
Alterar página índice
Redirecionamento
Esconder o htaccess
Adicionar tipos MIME
Evitar hot linking
Impedir listagem de diretório

Leia com atenção as diretivas do Apache, em especial os comandos do htaccess, de preferência na fonte - Diretivas do Apache. Está em inglês mas é tranquilo.



| AAAA | Página Inicial | Mapa do Site | Novidades | Busca | Indique esta página | Mestre da Teia | Voltar |
| Localizador || @ Info NumaBoa > MASTERDicas > htaccess > Documentos de erro
Créditos: vovó Vicki

webdesign sobMedida by vickiSoft - /informatica/webmaster/htaccess/htaccess1.php (25.02.03) versão 1.1 de 04.07.03
Licença Creative Commons 1998-2006 Aldeia NumaBoa
Exceto onde especificamente declarado, todo material deste site é disponibilizado de acordo com a Licença Creative Commons.