Ausgabe
Der Fehler, den ich bekomme, kommt von PHP, weil APACHE versucht, die .zip-Datei durch den PHP-Interpreter zu übergeben.
Aber dieser Beitrag bezieht sich nicht auf ein PHP-Skript oder das Einrichten von Headern von PHP, um die Datei herunterzuladen. Es geht darum, APACHE daran zu hindern, die Datei durch PHP zu leiten und stattdessen einen Download zu generieren.
Ich habe ein paar Antworten gefunden, die das Hinzufügen von Dateiausnahmen zur .htaccess beinhalten, aber immer noch ohne Erfolg, und ich erhalte die folgende Parse-Fehlermeldung:
Parse error: in /home/user/public_html/downloads/files/1/test-file-132110.zip on line 431
Lösung
Dies sind die .htaccess-Anweisungen, die meiner Meinung nach funktionieren:
<Location "/downloads/files/">
<Files *.*>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
</Location>
Das vorherige Beispiel ist nicht so toll, weil ich bestimmte Erweiterungen, lile doc, zip usw. auswählen möchte. Also habe ich stattdessen diese ausprobiert:
<Location "/downloads/files/">
<FilesMatch ".(?i:doc|docx|xls|xlsx|ppt|pptx|zip|rar)$">
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
</Location>
oder dies, ohne Angabe eines Ortes:
<FilesMatch "\.(doc|docx|xls|xlsx|ppt|pptx|zip|rar)$">
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
Beantwortet von – multimediaxp
Antwort geprüft von – Gilberto Lyons (FixError Admin)