我使用超棒的前端优化器fasterize.com,这需要
www
子域名。另外,我有一个支付页面,我将使用 HTTPS 而不使用 fastize,因此在另一个子域名上。
我使用 lighttpd,我已经为所有页面设置了良好的重定向。我为付款页面添加了子域名和规则,如下所示:
$HTTP["host"] =~ "^payment\.domain\.com$" {
url.redirect = ("^/(.*)$" => "https://domain.com/payment/")
}
$HTTP["host"] =~ "^domain\.com$" {
url.redirect = ("^/(.*)$" => "http://www.domain.com/$1")
}
但是第二条规则捕获了第一条规则的调用,并且http://www.domain.com/paymentpage/
由于缺少 HTTPS,我发现这并不好。
答案1
您没有将所有资源都设为 https 的原因是什么?根据您在支付页面上加载的资源,如果其中任何一个资源不安全(http),您将在控制台中收到警告,或者可能根本不会加载资源。
$HTTP["host"] =~ "^payment\.domain\.com$" {
# Redirect to the fully correct domain - www.domain.com - to avoid more redirects
url.redirect = ("^/(.*)$" => "https://www.domain.com/payment/")
}
# Redirect any http requests for the payment domain
$HTTP["scheme"] == "http" {
url.redirect = ( "^/payment/$" => "https://www.domain.com/payment/" )
}
$HTTP["host"] =~ "^domain\.com$" {
url.redirect = ("^/(.*)$" => "http://www.domain.com/$1")
}
答案2
只是为了澄清,没有办法添加评论,Fasterize做支持SSL:http://www.fasterize.com/en/faq 只需要求支持团队在 Fasterize 基础设施上安装您的证书。
-- stephane (Fasterize 首席执行官;-)