[.htaccess] wymuszenie ściągania dla wszystkich formatów plików


(Rostov) #1

Do katalogu ‘download’ znajdującego się w katalogu ‘public_html’ wrzuciłem plik .htaccess z zawartością:

<FilesMatch "\.(mp4|avi|mp3|pdf|zip)$" >
ForceType application/octet-stream
Header set Content-Disposition "attachment"
</FilesMatch>

aby wymusić na przeglądarkach www (bez względu na ich rodzaj i indywidualne ustawienia) ściąganie znajdujących się w nim plików, zamiast ich otwierania. Jednak ten kod działa jedynie, jeśli dopisze się do niego określone formaty plików. W jaki sposób zmodyfikować go, by działał ze WSZYSTKIMI formatami plików?


(Fizyda) #2

Trochę strzelam i nie zaglądam w dokumentacje, jak nie działa to pisz:

<FilesMatch "\.*$" >
ForceType application/octet-stream
Header set Content-Disposition "attachment"
</FilesMatch>

(Rostov) #3

Nie działa. W ten sposób po wpisaniu adresu zaczyna się pobieranie indeksu na dysk.


(Fizyda) #5

Sorki, zupełnie bezmyślnie do tego podszedłem. Wydaje mi się że teraz powinno zadziałać dla wszystkich plików znajdujących się w katalogu w którym umieszczony jest .htaccess z tą regułą i posiadających jakiekolwiek rozszerzenie:

<FilesMatch "\..*$" >
ForceType application/octet-stream
Header set Content-Disposition "attachment"
</FilesMatch>

(Rostov) #6

Jak na razie błędów nie wyrzuca i działa. :wink: Zastanawia mnie tylko jedno. W przypadku plików z rozszerzeniem *.avi - gdy w Chrome i Operze kliknę w indeksie mojego serwera na plik o takim rozszerzeniu, pojawia mi się okienko zapisu, w którym mogę wybrać folder do którego chcę zapisać i nadać zapisywanemu plikowi inną nazwę. Natomiast w FF pojawia się okienko, w którym mogę wybrać tylko dwie opcje: otwarcie w domyślnej aplikacji lub zapis (ale bez możliwości wyboru folderu i zmiany nazwy pliku). Dotyczy to jeszcze kilku innych rozszerzeń, które w FF ustawioną mają tę samą domyślną akcję, co inne formaty.


(Fizyda) #7

Wydaje mi się że są to różnice pomiędzy przeglądarkami. Opera i Chrome to prawie to samo bo bazują na CHromium, FF to zupełnie inny silnik.


(Pablo_Wawa) #8

To jest kwestia ustawień przeglądarki:


(Rostov) #9

Dzięki za pomoc, Panowie. :slight_smile: