consentendo l'accesso all'indice solo con .htaccess

Ho questo nel mio file .htaccess, nella root del sito:

Options -Indexes <directory ../.*> Deny from all </directory> <Files .htaccess> order allow,deny deny from all </Files> <Files index.php> Order allow,deny allow from all </Files> 

Quello che sto cercando è quello di bloccare l'accesso a cartelle e file a qualsiasi cosa che non si chiami index.php, a prescindere da quale directory è accessibile. Ho la parte di cartella che funziona perfettamente e la negazione di tutte le regole sta funzionando pure – ma il mio tentativo di consentire l'accesso a index.php non è riuscito.

  • Come bloccare Baidu dall'indexing dei file MP3?
  • Come è stato sconfitto Matasano?
  • Non è ansible gzip alcuni file JS e CSS
  • Stampante di networking sfruttata (leggi: hacked) per la printing di documenti antisemiti. Come risolvere?
  • Aumenta il valore di LimitRequestFieldSize in Apache
  • Il mio server Linux è stato compromesso? Come faccio a dire?
  • Rinominare l'estensione del file nascosto url
  • Come faccio a impedire che i file SWF siano collegati a caldo, scaricati ecc
  • Errore Apache .htaccess: 'non consentito qui' su Debian Wheezy
  • .htaccess per bloccare per nome di file ansible?
  • Come redirect molti reindirizzamenti in htaccess?
  • La cache copre e include file per Nginx
  • One Solution collect form web for “consentendo l'accesso all'indice solo con .htaccess”

    Forse stai pensando di complicare, negare a tutti l'accesso e quindi consentire l'accesso a index.php e alla stessa cartella. Per esempio:

     Order allow,deny Deny from All <FilesMatch "^(index\.php)?$"> Allow from All </FilesMatch> 

    Se non si desidera nemless desiderare di utilizzare http://doma.in/folder/, è ansible sostituire la direttiva FilesMatch con i Files index.php . Tieni presente che dipende dalla direttiva DirectoryIndex quale file verrà visualizzato quando si accede a una cartella senza nome di file.

    Modifica: per rispondere alla domanda nel tuo commento, penso che avrai bisogno di un htaccess più potente usando mod_rewrite. Non è ansible utilizzare Directory e DirectoryMatch in un file .htaccess in base alla documentazione di Apache. Poiché la richiesta viene negata prima che RewriteRule possa aggiungere una barra di traino, non è ansible aggiungere la traccia di trailing con mod_write.

     <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !/index\.php$ RewriteRule ^.*$ - [F] </IfModule> <IfModule !mod_rewrite.c> Order allow,deny Deny from All </IfModule> 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.