Por este motivo criei este artigo para dar algumas dicas de como configurar qualquer tipo de página de erro para você poder manipular as informações que são exibidas aos visitantes. Antes de começar a exibir os códigos, vou explicar de quais arquivos e pastas você precisará configurar sua página de erro em php.
Na raiz de seu site / você cria uma pasta chamada erro. Ainda na raiz do seu site, você precisará configurar ou criar um arquivo chamado .htaccess ele será o responsável em tratar os erros de forma personalizada. Então a estrutura de arquivo ficará assim:
/erro /.htaccess /index.php
Dentro da pasta erro, você precisará criar suas páginas de erros personalizadas da seguinte maneira:
/erro/401.shtml /erro/403.shtml /erro/404.shtml ...e assim por diante
Mas o pulo do gato é o que vem agora, ainda dentro da pasta erro você precisará criar um arquivo index.php para tratar os erros de forma que você possa visualiza-los depois e saber quais tipos de erros seus visitantes estão recebendo. Isso vai ser muito útil para saber se dentro de seu site existe algum link quebrado, algum acesso indevido a pastas restritas etc.
index.php
O interessante deste arquivo é que você não precisa adicionar todas as págians de erros dentro dele, pois ele mesmo recebe a vairável $_SERVER['QUERY_STRING'] e localiza dentro da pasta erro se possui algum arquivo.shtml se o arquivo existir ele carrega se não ele não faz nada. Você também pode tratar os erros como você quizer, como por exemplo, você pode aproveitar ao invés de jogar as informações de erros para um arquivo de texto você pode armazenar em um banco de dados.
Já no arquivo htacces você só precisa informar que quando um erro for exibido é para ele redirecionar ao arquivo index.php que está dentro da pasta erro com o respectivo código de erro informado na variável query que vai abrir a página de erro a ser exibida ao visitante.
.htaccess
- Downloads dos arquivos utilizados neste artigo: clique aqui.

Páginas de erros personalizadas com php