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

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.

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

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

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

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