1

我目前正在从 lighttpd 迁移到 nginx。我有一些奇怪的文件(不要问为什么): 1. 说一个名为“news”的文件,它实际上应该更像 news.txt 2.一个名为“.html”的文件,它实际上应该是索引。 html

使用 lighttpd,只需重写这些东西就可以了。Nginx 仍会使用 try_files 或 rewrite 定位这些文件,但我无法控制返回的内容类型。我的意思是如果文件名为“.html”,则内容类型为“application/octet-stream”。

我知道我可以使用 more_set_headers 来实现这一点,但有没有其他方法可以做到这一点?我的意思是为什么 nginx 认为名为“.html”的文件不是 html 文件?

4

1 回答 1

1

我的意思是为什么 nginx 认为名为“.html”的文件不是 html 文件?

在类 unix 系统中,开头的点通常用作隐藏文件的指示符。在这种情况下,点之后的部分不是文件扩展名。

我知道我可以使用 more_set_headers 来实现这一点,但有没有其他方法可以做到这一点?

您应该使用该default_type指令而不是 3-rd 方模块。

例如:

location =/.html {
    default_type text/html;
}
于 2013-11-14T07:42:41.263 回答