2013-07-25 8 views
8

mio webproject è memorizzato in /var/www/vhosts/domain.tld/httpdocs/negare l'accesso a tutte le cartelle ad eccezione di alcune fra le più usando .htaccess

HTACCES file che io elenco qui sotto contiene i seguenti:

# Refuse direct access to all files 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 

<Directory /uploads/images/pages> 
    Order Deny,Allow 
    Allow from all 
</Directory> 

. Il file .htaccess è archiviato nei file di cartella nella directory principale. Così il percorso completo è: /var/www/vhosts/domain.tld/httpdocs/files/

Contenuto per i "file" cartella:

backups 
    backup1.zip 
    backup2.zip 
    ... 
mails 
    mail1.html 
    mail2.html 
    ... 
templates 
    temlpate.html 
    ... 
uploads 
    files 
     manual.pdf 
     ... 
    images 
     pages 
      picture1.png 
      picture2.jpg 
      ... 
     store 
      picture1.png 
      picture2.jpg 
      ... 
.htaccess <--- previous code block with htaccess code is for that file 

Quello che sto effettivamente cercando di fare, è quello di proteggere ogni cartella da un accesso diretto, ad eccezione delle seguenti:

  • uploads/files/
  • uploads/images/pages/
  • uploads/images/negozio/

Ogni file in queste cartelle possono essere accessibili direttamente

Su usando .htaccess come descritto sopra sto ottenendo 500 pagina di errore. Quando si usano solo le prime 4 righe dell'esempio (senza eccezioni) il codice funziona bene.

Qualsiasi aiuto è apprezzato!

Grazie in anticipo!

risposta

11

Si sta ricevendo un errore 500 perché il contenitore <Directory> non può essere utilizzato in un file htaccess (che è essenzialmente tutto all'interno di un contenitore di directory per la directory in cui si trova). Quello che dovete fare è togliere il contenitore <Directory> dal file .htaccess, e lasciare il Deny from all bit:

file .htaccess nella root del documento:

# Refuse direct access to all files 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 

Quindi creare un file .htaccess nella uploads/files/, uploads/images/pages/ e uploads/images/store/ (e qualunque altra directory che si desidera consentire l'accesso a):

Allow from all 
+0

Supponendo che non posso accedere httpt.conf è questo metodo un buon modo di bloccare l'accesso a dirs sul server? Se no, cosa c'è di meglio di questo? – CoR

+2

@CoR Se non si ha accesso alla configurazione del server, posizionarlo in un file htaccess (senza il contenitore '') è il modo standard di restrizione dell'accesso –

Problemi correlati