重定向将连接模式(HTTPS|HTTP)保持在Lighttpd中的规则



我有一个重定向规则,所以每个请求之前都必须有www.,问题是如果有人通过https://连接,他们会重定向到http://,因为我不知道应该使用什么命令来区分它们。这就是规则:

var.mdomain = "mydomain.com"
var.mdomainregexredir = "^mydomain.com$"
$HTTP["host"] =~ var.mdomainregexredir {
  server_name = var.mdomain 
  url.redirect = ( "^/(.*)" => "http://www." + var.mdomain + "/$1" )
}

如果可能的话,我想知道是否有一种方法可以只使用一个重定向规则,我的意思是,我不喜欢添加两个url.redirect,一个在http中,另一个在https中,我希望它是这样的(简化):

url.redirect = ( "^/(.*)" => (isHttps?"https":"http") + "://www." + var.mdomain + "/$1" )

您需要的是:

$HTTP["host"] =~ var.mdomainregexredir {
    $HTTP["scheme"] =~ ".*" { # catch http and https
        # %0 references the above matched pattern (http or https)
        # also changed to just catch the whole path and redirect using it with $0
        url.redirect = ( ".*" => "%0://www.varmdomain$0" )
    }
}

除非你有令人信服的理由,否则我会将所有内容重定向到https。你也可以同时进行https和www重定向。

相关内容

  • 没有找到相关文章

最新更新