我正在研究如何在Lighttpd网站上从HTTP重定向到HTTPS,看起来非常简单。 (https://redmine.lighttpd.net/projects/1/wiki/HowToRedirectHttpToHttps)
$HTTP["scheme"] == "http" {
# capture vhost name with regex conditiona -> %0 in redirect pattern
# must be the most inner block to the redirect rule
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
但它根本没有重新路由。
我一直试图通过 www.test.com , http://www.test.com 和 http://test.com <访问这些网站/ em>但它似乎没有用。
它只是说:ERR连接被拒绝。我已经确认该网站在没有此代码的情况下使用http和https工作,但在执行此操作时,它似乎无法正常工作。
我想更多地了解它,因为我最终会有一堆其他域路由到这里。
我也尝试过更具体的调用,但这些调用无效:
$HTTP["scheme"] == "http" {
# capture vhost name with regex conditiona -> %0 in redirect pattern
# must be the most inner block to the redirect rule
$HTTP["host"] =~ "www.test.com" {
url.redirect = (".*" => "https://%0$0")
}
}
答案 0 :(得分:0)
在问题中执行上述代码实际上是有效的。问题是,正如@Gstrauss所指出的那样,为了获得重定向功能,您需要确保实际启用了模块。我查看了modules.conf文件,发现它没有启用。
启用 mod_redirect 并重新启动服务器后,无论我使用的是我网站的HTTP版本还是HTTPS版本,它都会将我转发到该网站的HTTPS版本。