在apache中设置标头

时间:2009-03-22 00:20:33

标签: django apache static content-type

我正在尝试在django应用程序中提供静态文件供下载,我想我将静态文件放在/ media / files中并让Apache将内容类型头设置为application / octet-stream(要下载的文件将是word文件,但我稍后会详细说明。

为此,我激活了mod_headers,然后在apache配置中执行了此操作:

<Location "/media/files">
    Header set Content-Type "application/octet-stream"
</Location>

执行此操作后,我重新启动了apache并尝试了一个示例文件,但它不起作用,我仍然在内容类型中获得text / plain,并且浏览器不会提示我下载任何内容。

顺便说一下,我知道建议使用不同的Web服务器来处理静态文件,但是我对将要部署的服务器没有太多控制权,它必须只是带有mod_python的Apache。

1 个答案:

答案 0 :(得分:1)

可能存在任何问题(需要比您提供的更多信息来追踪一些apache配置问题),但这里有一些想法:

  • 您是否确定此代码段正在应用于正确的文件(例如,如果有多个虚拟服务器,并且您将其置于错误的服务器中,那么......)
  • 你是否有重写可能会阻止这种情况被视为匹配?
  • 您是否在其他地方设置了Content-Type标头?
  • 您是否正在进行内容仲裁?取决于,它可以覆盖您在标题中执行的任何操作。

你可能尝试的一件事是添加一些其他标题,看看它是否回来了。另外,尝试用telnet自己做请求,否则减少你和服务器之间的数量。使用日志文件。他们随时为您提供帮助。祝你好运。