Forzare un download usando in htaccess su WWW root

Sto cercando di forzare il download di tutti i file di una cartella.

Il link nella pagina è simile a questo

Click to download 

E ho questo frammento nel mio .htaccess

  ForceType application/octet-stream Header set Content-Disposition attachment  

So già che le 2 righe all’interno del tag funzionano, perché funziona quando inserisco un .htaccess direttamente nella cartella in cui voglio forzare il download con il seguente codice:

  ForceType application/octet-stream Header set Content-Disposition attachment  

Sembra che ci sia qualcosa che non capisco sul tag filesMatch.

Si prega di consultare la documentazione per FilesMatch e File , rispettivamente. Dichiara chiaramente

Le direttive fornite all’interno di questa sezione verranno applicate a qualsiasi object con un nome di base (ultimo componente del nome file) che corrisponde al nome file specificato.

Ciò significa che nel tuo esempio corrisponde a file.pdf . Il tuo secondo esempio *.* file.pdf , tuttavia il tuo primo esempio .*uploads/documents.* No. In realtà non può mai corrispondere, poiché contiene una barra, che viene usata come separatore di directory.

Se è ansible modificare la configurazione di apache

Dovresti includere O (a seconda di cosa vuoi forzare il download) in una direttiva Location :

   ForceType application/octet-stream Header set Content-Disposition attachment   

Se non è ansible modificare la configurazione di apache

Sfortunatamente, la direttiva Location non è consentita all’interno dei file .htaccess. Basta creare un .htaccess all’interno della directory /uploads/documents/ .

La ricerca di più informazioni ha trovato questo codice:

  ForceType application/octet-stream Header set Content-Disposition attachment  

Ha funzionato per me

Questo codice è perfetto se non lo usi - nel nome del file!

Ad esempio, per nome-1.mp3, passare a name1.mp3

  ForceType application/octet-stream Header add Content-Disposition "attachment"  

Cancella il tuo browser e controllalo.