Problemas ao redirecionar o erro 400 Solicitação incorreta para uma página personalizada

4

Eu editei meu arquivo .htaccess para o seguinte:

ErrorDocument 404 /index.php?page=page-not-found
ErrorDocument 400 /index.php?page=bad-request

Agora, o erro 404 redireciona corretamente, mas se eu inserir um endereço como link $ %% 5E &% C2% A3 & o servidor não redireciona o erro 400, mas exibe a mensagem padrão do apache. O que estou fazendo errado?

    
por Paul 07.07.2010 / 10:31

1 resposta

6

Cotação de documentação do Apache :

Although most error messages can be overriden, there are certain circumstances where the internal messages are used regardless of the setting of ErrorDocument. In particular, if a malformed request is detected, normal request processing will be immediately halted and the internal error message returned. This is necessary to guard against security problems caused by bad requests.

Portanto, se você quiser redirecionar o erro 400, você deve remover o comentário da diretiva ErrorDocument no arquivo de configuração do Apache httpd.conf da seguinte forma:

# Some examples:
#ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 400 /cgi-bin/bad_request.pl
#ErrorDocument 401 /subscription_info.html
#ErrorDocument 403 "Sorry can't allow you access today" 

e reinicie o servidor Apache.

    
por 07.07.2010 / 13:35