Por favor, note que isso parece, mas não é uma solução!
Ao exibir uma página de erro personalizada (como um 404 falso para um erro 403), você pode obter o resultado desejado no seu navegador da Web, mas um invasor remoto ainda pode obter a verdadeira resposta HTTP do servidor, que ainda é 403 (Proibido), e assim, ele pode adivinhar a estrutura do sistema de arquivos.
Aqui você pode ver um link curl -v -X GET
'< HTTP/1.1 403 Forbidden
< Date: Thu, 04 Nov 2010 14:42:52 GMT
< Server: Apache/2.2.8 (CentOS)
< X-Powered-By: PHP/5.2.10
< Content-Length: 202
< Connection: close
< Content-Type: text/html; charset=ISO-8859-1
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>'
Bem, eu posso resolver isso e obter a saída deisdered (404 não encontrada) com uma regra específica por pasta:
RewriteRule ^/WebSite/forbidden_badly_hidden_folder$ /error/fake_404_403.php
RewriteRule ^/WebSite/forbidden_badly_hidden_folder/$ /error/fake_404_403.php
Onde /error/fake_404_403.php é propositalmente uma página inexistente, então você obterá a seguinte saída do mesmo teste de curvatura:
< HTTP/1.1 404 Not Found
< Date: Thu, 04 Nov 2010 14:43:12 GMT
< Server: Apache/2.2.8 (CentOS)
< X-Powered-By: PHP/5.2.10
< Content-Length: 202
< Connection: close
< Content-Type: text/html; charset=ISO-8859-1
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>'
Qual é o comportamento desejado;
A minha pergunta é, é possível escrever uma regra global que faça tal trabalho para qualquer recurso 403 (F) no / var / www / html e subpastas, reescrevendo-o para um caminho inexistente e retornando o 404 desejado Não encontrado?
Obrigado antecipadamente e com os melhores cumprimentos
Marco