Перенаправление Lighttpd с www.domain.com на domain.com

Мне нужно перенаправить все www.domain.com на domain.com в Lighttpd.

Вот соответствующая часть моего lighttpd.conf:

$HTTP["host"] =~ "^www\.domain\.com$" {
    url.redirect = (
        "^/(.*)" => "http://domain.com/$1"
    )
}

$HTTP["host"] =~ "(^|\.)domain\.com$" {
     ...
     url.rewrite-once = (
         ...
         "^(/.*)$" => "/mysite.fcgi$1",
     )
}

Проблема в том, что все URL-адреса, такие как http://www.domain.com/blah/ перенаправляются на http://domain.com/mysite.fcgi/blah/

Мне нужно правило переписывания "mysite.fcgi", так как оно отправляет запрос экземпляру fastcgi.

Как правильно перенаправить?

1 ответ

Если вам нужно перенаправить все запросы, сделанные на www.domain.com/, независимо от пути запроса, просто отбросьте $1 в конце третьей строки, чтобы это выглядело так:

$HTTP["host"] =~ "^www\.domain\.com$" {
    url.redirect = (
        "" => "http://domain.com/"
    )
}

$1 заменяется первым соответствием ^/(.*) регулярное выражение, которое, в вашем случае, это все, что после первой косой черты.

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