Content-Disposition: attachment via Querystring korrekt setzen
Robert B.
- apache
- download
- https
Hallo Forum,
ich versuche mich gerade daran eine simple Download-Option per Apache-Konfiguration zu setzen. Die Idee ist, dass mit dem Anhängen des Querystrings get
ein entsprechender Content-Disposition
HTTP-Header gesetzt wird. Das ganze soll in der lokalen .htaccess
notiert werden. Bislang habe ich
<If "%{QUERY_STRING} =~ /get/">
Header set Content-Disposition "expr=attachment; filename=%{REQUEST_URI}"
</If>
Das hat allerdings den Schönheitsfehler, dass das filename
-Attribut den kompletten Request-URI enthält – im Firefox sind die Schrägstriche durch Unterstriche ersetzt, d.h. aus
https://example.org/directory/file?get
wird der vorgeschlagene Dateiname
_directory_file
Gibt es irgend eine Möglichkeit hier
zu nutzen?
Viele Grüße
Robert
Moin,
das …
<If "%{QUERY_STRING} =~ /get/"> Header set Content-Disposition "expr=attachment; filename=%{REQUEST_URI}" </If>
… war mal wieder ein Beispiel von „Overengineering“ nach nicht vollständigem Lesen und Verstehen des RFCs:
filename
ist ein optionaler Parameter hier. Wenn dieser fehlt, wird automatisch der Basename der Ressource vorgeschlagen. Das Problem ist also viel einfacher zu lösen:
<If "%{QUERY_STRING} =~ /get/">
Header set Content-Disposition "attachment"
</If>
Viele Grüße
Robert