Por que o docx, xlsx, pptx está baixando do servidor da web como arquivos zip?

36

No meu servidor Apache, eu armazenei vários arquivos docx, xlsx pptx.

Alguns navegadores clientes pensam que estes são arquivos zip comuns e alteram a extensão do arquivo durante o download. Como faço para não fazer mais isso.

(Usando o servidor Ubuntu)

daveilers
fonte
Esses tipos de arquivos funcionam bem com o IE9 sem fazer alterações no htaccess, httpd.conf etc.

Respostas:

34

Os arquivos são realmente ZIPs de documentos XML. Adicione isso ao seu .htaccess no Apache

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
fonte
Eu tive o mesmo problema e o adicionei ao .htaccess, mas a mesma coisa ainda acontece no IE (mesmo após a exclusão do cache). Você precisa reiniciar o Apache para que isso tenha efeito?
supertrue
14

O servidor não possui tipos MIME adequados configurados para os novos tipos de arquivos ms

adicione o seguinte ao arquivo /etc/mime.types e reinicie o apache, e o problema deve ser corrigido.

# 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 possui informações sobre esse problema

daveilers
fonte
como este é o meu servidor e tenho acesso ao /etc/mime.types, esta é a melhor resposta para mim.
daveilers
no Windows, o caminho pode ser algo como <install dir for apache> \ apache \ conf \ mime.types
AJ.
Ele não funciona com o Apache2.4
rasanga
1

Eu tenho controle administrativo total do servidor e da máquina cliente envolvida com esse problema e NENHUMA dessas soluções propostas trabalhou para corrigir esse problema.

No final, a única coisa que corrigiu esse problema para mim foi ...

1) desinstale o 7-Zip (para que o navegador não tenha nada a associar ao arquivo zip)

2) (Não tenho certeza se esta etapa é necessária, mas) Depois baixei o DOCX novamente (onde, coincidentemente, ainda está sendo apresentado como um arquivo ZIP); no entanto, desta vez, sou solicitado a que aplicativo o abra e Eu escolho MSWORD. Não escolho "Sempre abrir com o MSWORD", porque não quero que o MSWORD abra sempre arquivos ZIP.

3) Reinstale o 7-Zip.

Após isso, todas as tentativas subseqüentes de baixar o DOCX resultaram na transferência e na abertura de um arquivo DOCX com o aplicativo MSWORD apropriado.

NOTA: Antes de concluir que eu simplesmente tinha uma associação de arquivos quebrada, permita-me confirmar que, quando esse problema estava ocorrendo, eu poderia clicar duas vezes em qualquer DOCX no explorer e o MSWORD sempre o abriria. Esse problema estava sempre e apenas ocorrendo ao tentar baixar / abrir um DOCX com o IE8. O FF4 e o Chrome funcionaram perfeitamente. Tentei adicionar os tipos MIME adequados ao / etc / mime-types e ao .htaccess no lado do servidor. Eu também tentei Desabilitar "Abrir arquivos com base no conteúdo, não extensão de arquivo" (mas isso apenas resultou no navegador abrir o DOCX como texto ASCII ilegível), definindo as chaves de registro FEATURE_MIME_ * como "0" e adicionando o URL do servidor ao Lista "Sites confiáveis". Mais uma vez, nenhuma dessas soluções aparentemente lógicas funcionou para mim.

Ken Banks
fonte
é bem possível que a associação na área de trabalho dos arquivos .docx locais esteja correta, embora ainda não corresponda aos arquivos application / vnd.openxmlformats-officedocument.wordprocessingml.document de um servidor da web. Verifique o valor do registro HKCR \ .docx \ ContentType
James