Alexander (HH): Download einer PDF-Datei sicherstellen

Beitrag lesen

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".