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

lighttpd - перенаправить все на 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"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}

Но когда я ввожу этот URL -

http://www.domain.co.il/index.php?shop=amazon

Меня перенаправили на

https://index.php/index.php?shop=amazon

В чем проблема?

После удаления все работает нормально -

url.rewrite-once = ( "^/min/([a-z]=.*)" => "/min/index.php?$1",
        "^(.*)\.(jpg|gif|woff|tff|png|js|css|html|htm|txt)(.*)$" => "$0",
        "^/question2answer/(.+)$" => "/question2answer/index.php?qa-rewrite=$1",
       "^/$" => "/index.php"
     )

Возможно, это не самый элегантный способ, но у нас он сработал. Явно улавливает совпадение регулярного выражения. (Примечание: возможно, это должно быть "https://%1$1")

$SERVER["socket"] == ":80" {
    $HTTP["host"] =~ "^(.*)$" {
        url.redirect = ( "^/(.*)" => "https://%1/$1" )
    }
}