2011-02-18 11 views
5

Ho una cartella con molti file .php. Vorrei negare l'accesso a loro (utilizzando .htaccess). So che un'opzione è quella di spostare questa cartella fuori public_html, ma questo non è possibile in questa situazione.Impedire l'accesso ai file in una determinata cartella

È possibile bloccare l'accesso a un'intera cartella?

risposta

7

Aggiungere questo al file .htaccess:

order deny,allow 
deny from all 
+0

Hmm, ho provato questo: \t ordine negare, permettono \t negano da tutto ma sto ricevendo un errore di configurazione errata :( – Bv202

+0

Non si deve utilizzare ... in un file .htaccess. Basta inserire le due righe sopra nel .htaccess. – ChrisJ

+0

Grazie, che funziona bene :) – Bv202

5
  1. Creare file .htaccess all'interno della cartella desiderata con il seguente contenuto:

    Deny from all

  2. Modifica apache2.conf o httpd.conf, qualunque cosa si trova nella directory Apache2 (probabilmente situato in /etc/apache2). Avrete bisogno di modificare/verificare quanto segue:

    AllowOverride ALL (nel relativo tag < Directory>)

    AccessFileName .htaccess

  3. Modificare il file di configurazione del tuo sito solo in caso si dispone di un < Directory tag> specificato all'interno e aggiungere la seguente riga:

    AllowOverride ALL

  4. Resta rt il server Apache2

    service apache2 restart

I passaggi di cui sopra sono tutti pensati per ambienti Linux. Le stesse istruzioni funzionerebbero bene per gli ambienti Windows ad eccezione dei percorsi e del comando di riavvio del server.

Riferimento: http://www.cyberciti.biz/faq/apache-htaccess/

4

Apache 2.4 ora utilizza un modo diverso di fare questo in modo che il metodo che funziona per Apache 2.2 non funzionerà. Vedi sotto per il metodo che funzionerà con Apache 2.4. Inseriscilo nel file .htaccess di Apache o ancora meglio in una direttiva <Directory> nel file .conf di Apache per il tuo sito.

Se si utilizza Apache 2.2:

order deny,allow 
deny from all 

Se si utilizza Apache 2.4 uso:

Require all denied 
Problemi correlati