Nginx try_files&重写&内容类型

时间:2013-11-14 06:44:03

标签: nginx content-type

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

使用lighttpd,只需重写那些可行的东西。 Nginx仍会使用try_files或重写找到这些文件,但我无法控制返回的内容类型。我的意思是如果该文件名为' .html',则内容类型为' application / octet-stream'。

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

1 个答案:

答案 0 :(得分:1)

  

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

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

  

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

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

例如:

location =/.html {
    default_type text/html;
}