Что-то не так с вашим регулярным выражением. (*) не имеет никакого смысла. Я думаю, вы более знакомы с синтаксисом glob . Просто помните:
* (in glob) === .* (in regexp)
В основном '.'
означает что-либо, а '*'
означает ноль или более раз этого чего-либо. Итак, я думаю, вы хотите:
$HTTP["host"] =~ "(.*\.)?domain\.(.*)$" {
url.redirect = ("^(/.*)" => "http://%1.domain.com$1")
}
Обратите внимание, что необходимо экранировать простые точки '\.'
, поскольку '.'
означает любой символ вообще.
Также следует помнить, что в синтаксисе lighttpd переменная $HTTP["host"]
не содержит пути . Вы выполняете извлечение пути в части url.redirect
, а не в части $HTTP["host"]
!