我需要在 Lighttpd 中将所有 www.domain.com 永久重定向到 domain.com。
这是我的 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
用正则表达式的第一个匹配项替换^/(.*)
,在您的情况下,该匹配项是第一个斜杠之后的所有内容。