我已配置了目录索引,每次点击文件时它都会被下载。
我想告诉nginx在文本文件中显示内容而不是将其下载。
当我使用wget下载这些文本文件时,我仍然希望可以下载。
我该怎么做?
我已配置了目录索引,每次点击文件时它都会被下载。
我想告诉nginx在文本文件中显示内容而不是将其下载。
当我使用wget下载这些文本文件时,我仍然希望可以下载。
我该怎么做?
感谢Sergey Moiseev的评论。
答案非常简单。
打开您的配置文件并添加以下内容:
types {
text/plain sh;
}
.sh
的文件映射到mime类型text/plain
。location ^~ /log {
sendfile on;
sendfile_max_chunk 1m;
alias /var/log/nginx;
autoindex on;
try_files $uri $uri/ =404;
types {
text/plain log;
}
}
只需在location
块中设置内容类型。
在我的情况下,我想要提供一个VERSION
文件,但默认情况下浏览器会下载它(因为它作为application/x-octet-stream
提供)。如果我让nginx使用text/plain的Content-type发送它,浏览器将显示它而不是下载它。
location = /VERSION {
root /usr/share/nginx/html;
add_header Cache-Control 'must-revalidate';
add_header Content-Type text/plain;
}