Warum werden docx, xlsx und pptx als zip-Dateien vom Webserver heruntergeladen?

36

Auf meinem Apache-Server habe ich mehrere docx-, xlsx-pptx-Dateien gespeichert.

Einige Client-Browser glauben, dass es sich bei diesen Dateien um normale ZIP-Dateien handelt, und ändern die Dateierweiterung beim Herunterladen. Wie mache ich das nicht mehr.

(Mit Ubuntu Server)

Daveilers
quelle
Diese Dateitypen funktionieren problemlos mit IE9, ohne Änderungen an htaccess, httpd.conf usw.

Antworten:

34

Die Dateien sind eigentlich ZIPs von XML-Dokumenten. Fügen Sie dies Ihrem .htaccess in Apache hinzu

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
Kevin Kuphal
quelle
Ich hatte das gleiche Problem und fügte dies zu .htaccess hinzu, aber das gleiche passiert immer noch im IE (auch nach dem Löschen des Caches). Müssen Sie Apache neu starten, damit dies wirksam wird?
supertrue
14

Der Server verfügt nicht über die richtigen MIME-Typen für die neuen MS-Dateitypen

Füge Folgendes zur Datei /etc/mime.types hinzu und starte Apache neu. Das Problem sollte behoben sein.

# Added by myname 2009-06-03
application/vnd.ms-word.document.macroEnabled.12                        docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                  potm
application/vnd.openxmlformats-officedocument.presentationml.template   potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                     ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                 ppsm    
application/vnd.openxmlformats-officedocument.presentationml.slideshow  ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12              pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation       pptx
application/vnd.ms-excel.addin.macroEnabled.12                          xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                   xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                          xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet       xlsx    
application/vnd.ms-excel.template.macroEnabled.12                       xltm    
application/vnd.openxmlformats-officedocument.spreadsheetml.template    xltx

http://www.webdeveloper.com/forum/showthread.php?t=162526 enthält Informationen zu diesem Problem

Daveilers
quelle
Da dies mein Server ist und ich Zugriff auf /etc/mime.types habe, ist dies die beste Antwort für mich.
Daveilers
Unter Windows lautet der Pfad möglicherweise <Installationsverzeichnis für Apache> \ apache \ conf \ mime.types
AJ.
Es funktioniert nicht mit Apache2.4
rasanga
1

Ich habe die vollständige administrative Kontrolle sowohl über den Server als auch über den Clientcomputer, die mit diesem Problem zu tun haben, und KEINE dieser vorgeschlagenen Lösungen hat zur Behebung dieses Problems beigetragen.

Am Ende war das Einzige, was dieses Problem für mich BEHEBT hat, ...

1) 7-Zip deinstallieren (damit der Browser nichts mit der zip-Datei zu tun hat)

2) (Ich bin mir nicht sicher, ob dieser Schritt erforderlich ist, aber) Ich habe dann die DOCX erneut heruntergeladen (wobei sie zufällig immer noch als ZIP-Datei vorliegt). Diesmal werde ich jedoch gefragt, mit welcher Anwendung und geöffnet werden soll Ich wähle MSWORD. Ich wähle nicht "Immer mit MSWORD öffnen", da MSWORD nicht immer ZIP-Dateien öffnen soll.

3) Installieren Sie 7-Zip erneut.

Danach führten alle nachfolgenden Versuche, das DOCX herunterzuladen, tatsächlich dazu, dass eine DOCX-Datei heruntergeladen und mit der entsprechenden MSWORD-Anwendung geöffnet wurde.

HINWEIS: Bevor Sie zu der Schlussfolgerung gelangen, dass die Dateizuordnung einfach fehlerhaft war, lassen Sie mich bestätigen, dass ich bei Auftreten dieses Problems auf ein beliebiges DOCX im Explorer doppelklicken konnte und es von MSWORD immer geöffnet wurde. Dieses Problem trat immer und nur auf, wenn versucht wurde, eine DOCX mit IE8 herunterzuladen / zu öffnen. FF4 und Chrome haben beide einwandfrei funktioniert. Ich habe versucht, die richtigen MIME-Typen zu / etc / mime-types und zu .htaccess auf der Serverseite hinzuzufügen. Ich habe auch versucht, "Öffnen von Dateien basierend auf dem Inhalt, nicht der Dateierweiterung" zu deaktivieren (dies führte jedoch nur dazu, dass der Browser die DOCX als nicht lesbaren ASCII-Text öffnet), die Registrierungsschlüssel FEATURE_MIME_ * auf "0" zu setzen und die Server-URL der zuzufügen Liste "Vertrauenswürdige Sites". Keiner dieser scheinbar logischen Lösungen hat für mich funktioniert.

Ken Banks
quelle
Es ist durchaus möglich, dass die Verknüpfung auf Ihrem Desktop für lokale DOCX-Dateien korrekt ist, während die Dateien application / vnd.openxmlformats-officedocument.wordprocessingml.document von einem Webserver noch nicht übereinstimmen. Überprüfen Sie den Registrierungswert HKCR \ .docx \ ContentType
James