Конфигурационный файл lighttpd не может разобрать условные конфигурации $HTTP["url"], хотя другие работают

Я пытаюсь установить mimetypes для файлов по определенному пути на моем сервере, который работает под управлением lighttpd версии 1.4.31 с SSL.

Я следую за этой документацией конфигурации: http://redmine.lighttpd.net/projects/1/wiki/docs_configuration

Определение $PHYSICAL["path"] не используется до версии 1.5.0 lighttpd, поэтому я пытаюсь указать $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 или попробуйте перезапустить lighttpd, я получаю эту ошибку:

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: ==

Или та же ошибка, но говоря =~ вместо ==,

Меня смущает то, что уже есть другие условные конфигурации, например, где $SERVER["socket"] == ":80"и эти конфигурации работают просто отлично.

1 ответ

Решение

Согласно документации lighttpd о синтаксисе файла конфигурации, используются только двойные кавычки "не ' поддерживаются.

Ваше наблюдение, что $SERVER["socket"] == ":80" работает, но $HTTP["url"] == '/my_path/' не, подтверждает это.

Другие вопросы по тегам