/ / Usando RewriteRule il file indice diventa illeggibile - .htaccess, mod-rewrite, apache2

L'uso di RewriteRule fa sì che il file di indice sia illeggibile: .htaccess, mod-rewrite, apache2

Ecco la mia configurazione: http://example.com/directory/

Sto cercando di nascondere "directory" durante il caricamento delle pagine all'interno di quella cartella. Aggiorno il mio file .htaccess nella radice html a questo:

Opzioni + FollowSymLinks
RewriteEngine on
RewriteCond% {REQUEST_URI}! (.) directory
RewriteRule ^ (.
) $ directory / $ 1

Funziona alla grande quando si carica un file nelcartella di directory, ma index.html nella cartella radice html non viene trovata a meno che non la metta nella cartella della directory. Grazie in anticipo per qualsiasi aiuto. Ho esaminato ogni punto della riscrittura Q & A su questo sito!

risposte:

0 per risposta № 1

La tua regola di riscrittura mi sembra come se fossi turichieste dalla directory root e aggiunta del nome del file su / directory /. Questo spiegherebbe perché i file nella radice non funzionano direttamente se non sono presenti nella cartella / directory /.


0 per risposta № 2

Dougajmcdonald ha spiegato abbastanza ma lo spiego in un altro modo, quindi la taglia è la sua :-)

quando tu richiedi index.html file, mod-rewrite controlla la tua condizione di riscrittura:

RewriteCond %{REQUEST_URI} !(.)directory

perché la sua richiesta URI è qualcosa di simile /index.html e corrisponde alla condizione (la tua condizione: l'URI di richiesta NON dovrebbe iniziare con /directory )
Quindi, mod_rewrite riscrive il tuo URL con uno nuovo: directory/index.html
è uguale a richiedere directory/index.html da solo. questa è la ragione per cui dovresti inserire quel file "Directory" directory.