lighttpd 配置文件无法解析 $HTTP["url"] 条件配置,但其他配置可以正常工作

lighttpd 配置文件无法解析 $HTTP["url"] 条件配置,但其他配置可以正常工作

我正在尝试为服务器上特定路径上的文件设置 mimetypes,该服务器运行带有 SSL 的 lighttpd 版本 1.4.31。

我正在遵循该配置文档:http://redmine.lighttpd.net/projects/1/wiki/docs_configuration

直到 lighttpd 1.5.0 版本才具有指定功能$PHYSICAL["path"],因此我尝试指定$HTTP["url"]

我已经尝试过了

$HTTP["url"] == '/my_path/directory_to_affect/foo.html' {
     # my settings are in here  
}

$HTTP["url"] =~ '/my_path/directory_to_affect/*' {
     # my settings are in here  
}

如果我测试我的配置文件lighttpd -D -f lighttpd.conf或尝试重新启动 lig​​httpd,我会收到此错误:

2015-04-29 14:37:52: (configfile.c.892) source: /etc/lighttpd/lighttpd.conf line: 48 pos: 12 invalid character in variable name 
2015-04-29 14:37:52: (configfile.c.948) configfile parser failed at: ==

或者出现同样的错误,但显示=~的不是==

令我困惑的是,已经存在其他条件配置,例如 where $SERVER["socket"] == ":80",并且这些配置工作正常。

答案1

根据lighttpd 配置文件语法文档,仅支持双引号",不'支持。

您的观察虽然$SERVER["socket"] == ":80"有效,但$HTTP["url"] == '/my_path/'事实并非如此,证实了这一点。

相关内容