Custom 403 Página de erro não mostrando

2

Eu quero restringir o acesso a certas pastas (inclui, xml e logs, por exemplo) e assim eu lhes dei 700 permissões, e todos os arquivos dentro deles 600 permissões. Em primeiro lugar, essa é a abordagem correta para restringir o acesso?

Eu tenho um arquivo .htaccess em minha raiz que lida com reescrita e documentos de erro. Existem duas páginas na raiz - 403.php e 404.php - para erros 403 e 404. E eu tenho essas regras adicionadas ao meu arquivo .htaccess:

ErrorDocument 404 /404.php
ErrorDocument 403 /403.php

Agora, a página 404 funciona bem. A página 403 não é exibida quando tento acessar a pasta 'includes' - recebo a página de erro padrão do apache 403, dizendo 'Além disso, um erro 404 Não encontrado foi encontrado ao tentar usar um ErrorDocument para manipular a solicitação'.

No entanto, quando tento ir para o arquivo .htaccess (na raiz da web) no meu navegador, recebo minha página de erro 403 personalizada. Por que isso está acontecendo?

    
por Rahul Sekhar 17.11.2011 / 06:04

1 resposta

2

Existe um arquivo .htaccess dentro da pasta includes /? E tem uma diretiva ErrorDocument 403 ?

Se esse estiver substituindo o pai, isso pode causar o problema descrito por você.

Tente colocar a diretiva ErrorDocument em seu arquivo httpd.conf ou vhost.

O que você vê nos seus registros de acesso e erro para essas solicitações?

Também vale a pena checar que a linha 403 definitivamente diz ErrorDocument 403 /403.php e não ErrorDocument 403 403.php . Esse pequeno erro de digitação causaria todos os sintomas que você descreveu.

Atualizar depois do bate-papo:

A solução final foi tornar o diretório includes legível pelo usuário do Apache e adicioná-lo ao .htaccess:

  <Location /includes>
    Order Deny,Allow
    Deny from all
  </Location>
    
por 17.11.2011 / 15:44