/ / Usar RewriteRule torna o arquivo de índice ilegível - .htaccess, mod-rewrite, apache2

Usar RewriteRule faz com que o arquivo de índice fique ilegível - .htaccess, mod-rewrite, apache2

Aqui está minha configuração: http://example.com/directory/

Estou tentando ocultar "diretório" ao carregar páginas dentro dessa pasta. Eu atualizo meu arquivo .htaccess na raiz html para este:

Opções + FollowSymLinks
RewriteEngine on
RewriteCond% {REQUEST_URI}! (.)diretório
RewriteRule ^ (.
) $ diretório / $ 1

Isso funciona muito bem ao carregar um arquivo nopasta do diretório, mas index.html na pasta raiz html não foi encontrado a menos que eu coloque-o dentro da pasta do diretório. Agradecemos antecipadamente por qualquer ajuda. Eu revi todas as perguntas e respostas de reescrita neste site!

Respostas:

0 para resposta № 1

Sua regra de reescrita para mim parece que você está tomandosolicitações do diretório raiz e anexando o nome do arquivo em / diretório /. Isso explicaria por que os arquivos na raiz diretamente não estão funcionando, a menos que também estejam presentes no / diretório / pasta.


0 para resposta № 2

dougajmcdonald explicou o suficiente, mas eu explico de outra maneira, então a recompensa é dele :-)

quando você pede index.html arquivo, mod-rewrite verifica sua condição de reescrita:

RewriteCond %{REQUEST_URI} !(.)directory

porque seu URI de solicitação é algo como /index.html e corresponde à condição (sua condição: URI de solicitação NÃO deve começar com /directory )
Então, mod_rewrite reescreve seu URL para um novo: directory/index.html
isso é igual a solicitar directory/index.html por você mesmo. essa é a razão pela qual você deve colocar esse arquivo em "diretório" diretório.