我有一个带有名称的 javascript 文件circle.terminals.cmd.var.js
,并且 apache 返回 500 错误:
[Sun Jun 15 15:00:55.194900 2014] [negotiation:error] [pid 20095] [client 127.0.0.1:50879] AH00681: Syntax error in type map, no ':' in /var/www/projects/jcubic/terminal/test/cirlce/code/js/circles/terminal/commands/circle.terminals.cmd.var.js for header _global_terminal_dictionary.push( "var" ) ;\r\n
_global_terminal_dictionary.push( "var" )
是 js 文件的第一行。
它看起来像是尝试执行该文件,这是为什么?如何让 apache 返回该文件而不是执行它?
答案1
mod_negotiation
正在造成问题!
尝试重命名文件以删除var
;这应该可以解决问题,对吗?
我不太清楚为什么它会应用于文件.var.js
,但在你的 Apache 安装附带的默认配置中可能有一个AddHandler type-map .var
(而且,谁知道呢,甚至可能有一个.var.js
)。
删除AddHandler type-map
它在您的配置中出现的位置,并且mod_negotiation
应该停止尝试将您的 javascript 读取为类型映射。