Seit Microsoft Office 2007 werden die Dokumente im neuen Dateiformat Office Open XML gespeichert. Bietet man diese auf einem Webserver, der mit Apache2 und Debian Lenny betrieben wird, zum Download an, werden diese von manchen Browsern (z.B. Internet Explorer) fälschlicherweise als Zip-Datei interpretiert. Dies liegt daran, dass der Webserver dieses Format nicht kennt und daher einen falschen MIME-Type (text/plain statt beispielsweise application/vnd.openxmlformats-officedocument.wordprocessingml.document) im Content-Type-Header einfügt. Da es sich bei dem Dateiformat an sich eigentlich tatsächlich um eine Zip-Datei handelt, erkennen dies manche Browser leider auch als solche. Dies lässt sich jedoch mit ein paar Anpassungen beheben.
Mittwoch, 19. Januar 2011
Download-Problem mit MS-Office-Dokumenten im neuen Dateiformat mit Apache2
Unter /etc/mime.types sind die dem Betriebssystem bekannten MIME-Types mit ihren jeweiligen Datei-Endungen aufgelistet. Fügt man hier für die betreffenden Datei-Endungen des neuen Dateiformats die entsprechenden Einträge hinzu, erkennt Apache2 diese und liefert den korrekten Content-Type-Header. Dazu müssen einfach folgende Zeilen hinzugefügt werden:
# Custom MIME types for OOXML Documents
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
Dieses Problem tritt jedoch nicht nur bei Debian-Systemen auf. Auch bei anderen Linux-Distributionen ist dies der Fall. Ein Beispiel hierfür sind diverse Ubuntu-Versionen (z.B. 8.04 LTS).
Kommentar schreiben