Moin Moin!
Der saubere Weg ist der Content-Disposition-Header, ...
kann man den auch per .htaccess setzen? Und wenn ja, wie?
Mittels Header-Direktive, ggf. gekapselt in <Files>.
Ich habe nun lange nach einer Lösung für .htaccess gesucht und folgendes gefunden:
| <Files *.pdf> | ForceType application/octet-stream
Falsch. Der MIME-Typ für PDFs ist application/pdf. Es gibt keinen Grund, daran etwas zu ändern. Laß die Zeile einfach weg. Der Apache sollte schon wissen, mit welchem MIME-Type PDFs auszuliefern sind.
| Header set Content-Disposition attachment
Den Wert würde ich sicherheitshalber quoten, ist aber wahrscheinlich optional. Also: Header set Content-Disposition "attachment"
| </Files>
Ist das korrekt
MIME-Type nein, C-D-Header vermutlich ja.
und würde das funktionieren?
Was spricht dagegen, es einfach auszuprobieren?
Alternativ, für 2 Datei-Arten, wäre folgendes richtig (ersetzt die 1. Zeile):
| <FilesMatch ".(pdf|mp4)$">
Wenn Du die ForceType-Zeile wegläßt, ja.
Vorausgesetzt natürlich, alle Dateinamen enden mit Kleinbuchstaben. Wenn Du x.pdf, y.PDF und z.Pdf hast und alle zum Download anbieten willst, mußt Du im ersten Fall von <Files *.pdf>
auf <FilesMatch "\.(?i:pdf)$">
umstellen und im zweiten Fall die RegExp analog auf case insensitive umstellen (<FilesMatch "\.(?i:pdf|mp4)$">
).
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".