Nginx

Nginx:將文件作為文本提供而不附加 .txt

  • October 4, 2013

我在我的網站上有一些連結到的 .rb(Ruby 腳本)文件。

預設情況下,瀏覽器只是將它們下載到“下載”文件夾,就像壓縮文件一樣。

我希望瀏覽器將其視為文本,因此 Ruby 腳本將顯示在瀏覽器中。

但是,如果我以正常方式執行此操作,它確實會顯示在瀏覽器中,但問題是當使用者對文件執行“右鍵點擊另存為”時,下載的文件會附加 .txt,例如myscript.rb.txt

使用 nginx 設置可以避免這個 .txt 副檔名嗎?

您可以通過在 nginx 配置中設置 types 指令來指定您希望 nginx 以哪種 mimetype 提供文件。我不知道其他 linux 發行版,但如果您使用的是 ubuntu,/etc/nginx/mime.types則預設包含在內。

要提供.rb文件,請text\plain確保/etc/nginx/mime.types包含以下內容:

types {
  ...
  text/plain    txt rb;
  ....
}

然後您應該能夠將文件下載為不帶 txt 副檔名的 txt。我使用 Chrome/Mac OS X 做到了這一點,它按預期工作。注意:這意味著如果您使用 nginx 為多個站點提供服務,所有站點都將返回帶有.rb副檔名的文件作為文本。

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