Apache2

Apache2 提供 MS Publisher 文件,MS Edge/IE 將其作為文本打開

  • November 7, 2020

我有一個 Microsoft Publisher 文件。它工作得很好。我在 Linux 上有它,在 /var/www/html 中。

Apache2 使用預設配置執行。

我嘗試在 MS Edge 和 IE 中從 Windows 中打開它。它顯示為文本(損壞或沒有響應編碼?)而不是下載。我想觸發受保護的視圖以進行測試。為什麼 MS Edge 或 IE 不下載文件,而是將二進製文件內容解釋為 HTML?

文件副檔名.pub不明確,因為它可以引用許多 MIME 類型(它們都不是 IANA 分配的媒體類型):

  • SSH 公鑰:ASCII 裝甲文本文件,text/plain
  • Microsoft Publisher 文件,application/x-mspublisher
  • Corel Ventura 出版社出版,application/x-pub

預設情況下,Apache/etc/mime.types用於添加正確的Content-Typeheader。由於 沒有指定值.pub,因此沒有Content-Type,瀏覽器只能猜測。

您可以添加特定的 MIME 類型:

application/x-mspublisher                       pub

或者,如果您想強制下載,您可以將擴展添加到:

application/octet-stream                        bin deploy msu msp pub

此外,可以使用DirectiveContent-Type為單個文件添加:ForceType

<Files "Microsoft.pub">
   ForceType application/x-mspublisher
</Files>

<Files "Corel.pub">
   ForceType application/x-pub
</Files>

<Files "Download.pub">
   ForceType application/octet-stream
</Files>

<Files "SSH-public-key.pub">
   ForceType text/plain
</Files>

# Default for all other .pub files
<Files ~ "\.pub$">
   ForceType text/plain
</Files>

引用自:https://serverfault.com/questions/1041621