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 № 1La 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.