| MASTERDicas - as dicas para webmasters .htaccess - 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 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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||