Apache在其名称中使用“.var ”作为types映射

所以今天在工作中遇到了一个奇怪的问题。 我写的一个应用程序有一个名为form.sales.var.js的JavaScript文件,放在与其他JS文件相同的目录中。 但是,当浏览器尝试加载JS文件时,服务器返回了500 Internal Server Error页面。 Apache日志显示条目:

 Syntax error in type map, no ':' in /var/www/... 

随后是文件path的其余部分和文件的内容。

我在Google上对这个问题做了一些研究,发现这可能是由包含.var.的文件名造成的.var. ,导致Apache将其视为types映射 。 由于不是,会发生语法错误。

我现在的问题是:

  1. 为什么当文档说types映射是*.var文件时, .js文件被视为types映射? 是不是只是我的Web服务器configuration错误,或者其他人可以testing,看他们的Web服务器是否产生与名为something.var.something文件相同的错误?
  2. 为什么没有这个问题的文档,为什么它很less被报道,即使这种行为似乎自Apache 1.3以来已经存在? 这似乎是一个更常见的问题。
  3. 常用的是types图吗? 在Apache中禁用它们是否有任何可预见的问题?
  4. 解决这个问题的最好方法是什么(除了重命名文件并且不使用包含.var.文件名)?

这是Apache httpd的内容协商的一部分。 只要删除JavaScript文件的<Directory><Location> type-map的处理程序,或者删除这些目录的MultiViews