Назад | Перейти на главную страницу

Использование логических операторов в lighttpd.conf

У меня есть два поддомена, которые я хочу перенаправить в один и тот же каталог:

$HTTP["host"] =~ "sub1\.example\.com$" {
    server.document-root = "/home/adam/html/sub_domain" 
}

$HTTP["host"] =~ "sub2\.example\.com$" {
    server.document-root = "/home/adam/html/sub_domain" 
}

Естественно, я пробовал:

$HTTP["host"] =~ "sub1\.example\.com$" OR $HTTP["host"] =~ "sub2\.example\.com$"{
    server.document-root = "/home/adam/html/sub_domain" 
}

Но получил:

2011-03-14 10:19:30: (configfile.c.855) source: /etc/lighttpd/lighttpd.conf 
    line: 199 pos: 36 parser failed somehow near here: or

Это не удалось с OR (верхний регистр), or и даже c-style ||.

Есть идеи, как избежать повторения неудобного кода?

Этот вопрос является копией сообщение без ответа, которое я опубликовал на форуме lighttpd.

Почему не просто ...?

$HTTP["host"] =~ "^sub(1|2)\.example\.com$" {
    server.document-root = "/home/adam/html/sub_domain" 
}

Попробуйте -o для логического ИЛИ. Попробуйте -a для логического И.

Также ссылка эта страница еще несколько команд операторов в * nix.

сообщите об этом и сообщите нам, работает ли это!