Nginx
Nginx:將文件作為文本提供而不附加 .txt
我在我的網站上有一些連結到的 .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
副檔名的文件作為文本。