Guia do Linux/Avançado/Apache/Definindo documentos de erro personalizados
Definindo documentos de erro personalizados
editarDocumentos de erros personalizados são definidos através da diretiva ErrorDocument. É possível especificar códigos de erros que serão atendidos por certos documentos ou colocar esta diretiva dentro de blocos de controle de acesso <Directory>, <Location> ou <VirtualHost> para que tenham mensagens de erro personalizadas, ao invés da padrão usada pelo servidor httpd
.
ErrorDocument [código de erro] [documento]
Onde:
- código de erro
- Código de erro da mensagem (veja [#s-s-apache-httpcodes Códigos HTTP, Seção 12.15] como referência). O código de erro 401 deve referir-se a um arquivo local.
- documento
- Documento, mensagem de erro ou redirecionamento que será usado no servidor caso aquele código de erro seja encontrado:
Para definir uma mensagem de erro padrão para todo servidor web, basta colocar a diretiva ErrorDocument fora das diretivas que controlam o acesso a diretórios e virtual hosts (o inicio do arquivo httpd.conf
é ideal).
Exemplos:
- ErrorDocument 404 /cgi-bin/erros404.pl - Direciona para um script em Perl que manda um e-mail ao administrador falando sobre o link quebrado e envia o usuário a uma página de erro padrão.
- ErrorDocument 404 /naoencontrada.html - Direciona o usuário para o arquivo
naoencontrada.html
(dentro de DocumentRoot) quando ocorrer o erro 404. Note que o diretório/
levado em consideração é o especificado pela diretiva DocumentRoot. - ErrorDocument 500 "Erro Interno no servidor" - Mostra a mensagem na tela quando ocorrer o erro 500.
- ErrorDocument 401 /obtendoacesso.html - Direciona o usuário ao arquivo explicando como obter acesso ao sistema.
- ErrorDocument 503 http://www.guiafoca.org/servicos.html - Redireciona o usuário a URL especificada.
- ErrorDocument 403 "Acesso negado" - Mostra a mensagem na tela no caso de erros 403.