![Файл конфигурации lighttpd не может обработать условные конфигурации $HTTP["url"], хотя другие работают](https://rvso.com/image/657294/%D0%A4%D0%B0%D0%B9%D0%BB%20%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20lighttpd%20%D0%BD%D0%B5%20%D0%BC%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C%20%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8%20%24HTTP%5B%22url%22%5D%2C%20%D1%85%D0%BE%D1%82%D1%8F%20%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%82.png)
Я пытаюсь установить MIME-типы для файлов по определенному пути на моем сервере, на котором работает lighttpd версии 1.4.31 с SSL.
Я следую этой документации по конфигурации:http://redmine.lighttpd.net/projects/1/wiki/docs_configuration
Указание $PHYSICAL["path"]
не поддерживается до версии lighttpd 1.5.0, поэтому я пытаюсь указать $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: ==
Или та же ошибка, но =~
вместо ==
.
Меня сбивает с толку то, что уже существуют другие условные конфигурации, например, where $SERVER["socket"] == ":80"
, и эти конфигурации работают просто отлично.
решение1
СогласноДокументация lighttpd по синтаксису файла конфигурации, поддерживаются только двойные кавычки "
, а не .'
Ваше наблюдение, что это $SERVER["socket"] == ":80"
работает, но $HTTP["url"] == '/my_path/'
не работает, подтверждает это.