Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações!
Quero saber se é possível definir UM arquivo padrão para ser o índice de todos os diretórios, por exemplo:
tenho no meu .htaccess:
Options -Indexes
DirectoryIndex index.php index.html index.htm default.php default.html default.htm
Até aí, tudo certo. O problema, é que se nenhum desses arquivos existir naquele diretório, um erro 403 é exibido. Aceitável. Agora quero saber se, nenhum destes arquivos for encontrado, posso mostrar um arquivo que está na raiz do site?
Como se fosse um arquivo de erro, mas é só caso não haja um Index disponível?
Se o arquivo não existir, será exibido um erro mesmo. Uma alternativa é criar páginas personalizadas de erro. Veja http://supportcenter.verio.com/KB/questions.php?questionid=505
Sim, sim. Eu sei. Tenho páginas de erro e tal. Mas nesse caso, eu queria que fosse exibido não uma página de erro, mas um arquivo que está junto à index.php principal. Entende? Mas também não quero colocar esse arquivo como página de erro, já que isso atrapalharia outros erros 403...
Mas você pode criar arquivos específicos para cada erro. Se o usuário acessa um arquivo inexistente, ocorre erro 404. Você pode criar uma página específica para a 404, sem afetar o erro 403.
Mas você pode criar arquivos específicos para cada erro. Se o usuário acessa um arquivo inexistente, ocorre erro 404. Você pode criar uma página específica para a 404, sem afetar o erro 403.
Pois é, o problema é que o erro 403 não é só causado pelo Options -Indexes então se outro erro retornasse o status 403, ele iria fazer coisa errada.
Um exemplo interessante seria um .htaccess que eu pudesse colocar em http://localhost/.htaccess e quando eu entrasse em uma pasta que não possui index, ele me mostrasse o arquivo em http://localhost/default_index.php
Mas se o erro 403 fosse retornado em outra situação, ele mostraria http://localhost/error.php?code=403
Seria algo como
DirectoryIndex index.php index.html index.htm default.php default.html default.htm http://localhost/default_index.php
Acabei conseguindo só formulando um exemplo :D terminei com
DirectoryIndex index.php index.html index.htm default.php default.html default.htm /default_index.php
não sabia que uma barra faria tanta diferença :)
Mas muito obrigado ;)
Se o arquivo não existir, será exibido um erro mesmo. Uma alternativa é criar páginas personalizadas de erro. Veja http://supportcenter.verio.com/KB/questions.php?questionid=505