У меня проблема с моими vhosts, использующими регулярное выражение. Когда я использую следующий код, я получаю сообщение 404 not found:

$HTTP["host"] =~ "(^|\.)example\.com$" {
...
}

Однако, когда я явно установил для него следующее, я могу попасть на свой сайт:

$HTTP["host"] == "example.com" {
...
}

Кто-нибудь знает, почему это происходит? Документация довольно скудная.

answer

Я думаю, что нашел свою проблему. Я использую порт 8080 вместо порта 80, и я прочитал несколько скрытый текст в самом низу страницы документации, в котором говорится:

(Doesn't work for you? If you're not running on the default port, $HTTP["host"] will have the port number appended and the above reg-ex won't match it, since the trailing "$" means "the-string-ends-this-way".)

Вы уже нашли проблему; теперь исправьте это, используя ($|:)или (:[0-9]+)?$вместо $.