Devo fare un'operazione un po 'strana.
Per prima cosa, corro su Debian, apache2 (che 'gira' come utente www-data)
Quindi, ho un semplice file di testo con .txt ot .ini, o qualunque estensione, non importa.
Questi file si trovano in sottocartelle con una struttura come questa:
www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar .testo
pertanto, il nome del file è sempre lo stesso, idem per la 'gerarchia', basta cambiare il nome della cartella: /folder-name-static/folder-name-dinamyc/file-name-static.txt
Quello che dovrei fare è (penso) relativamente semplice: devo essere in grado di leggere quel file dai programmi sul server (python, ad esempio php), ma se provo a recuperare il contenuto del file da broswer (digitando l'URL www. example.com/folder1/car/foobar.txt, o tramite cUrl, ecc.) Devo ottenere un errore proibito o altro, ma non accedere al file .
Sarebbe anche bello che anche l'accesso a quei file tramite FTP sia "nascosto", o comunque non possa essere scaricato (almeno che io uso con il root ftp e i dati dell'utente)
Come posso fare?
L'ho trovato online, inseriscilo nel file .htaccess:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Sembra funzionare, ma solo se il file si trova nella radice Web (www.example.com / myfile.txt) e non nelle sottocartelle. Inoltre, le cartelle del secondo livello (www.example.com/folder1/ fruit /foobar.txt) verranno create dinamicamente. Vorrei evitare di dover cambiare periodicamente il file .htaccess.
È possibile creare una regola, qualcosa del genere, che vale per tutti i file con un determinato nome, che si trova su * www.example.com / nome-cartella-statico / * nome-cartella-dinamyc / *** nome-file -static.txt *, dove quelle parti sono sempre uguali , solo ** che cambia ?
MODIFICA :
Come ha detto Dave Drager, potrei semplificarlo mantenendo quei file al di fuori della directory accessibile dal web. Ma quelle directory conterranno anche altri file, immagini e cose usate dai miei utenti, quindi sto semplicemente cercando di non avere un sistema di cartelle duplicate, come:
/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]
//and, then for the 'secrets' files:
/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt