我想重定向子域名到https(当请求到达http),但不是所有。 我正在使用FuelPHP,我正在清理URL,以便index.php不可见。 我写了这个配置,但是这并不像预期的那样工作。 HTTPS请求正在通过,但在请求使用HTTP时,服务器无法发送答案。lighttpd http到https
$HTTP["host"] !~ "^(demo|faq|help|forums|mail|www)\.(domain\.com)$" {
$HTTP["host"] =~ "^(.+\.)?(domain\.com)$" {
$SERVER["socket"] == ":80" {
url.redirect = ("^/(.*)" => "https://%1/$1")
}
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/certs/domain.com.pem"
}
server.document-root = "/home/domain/beta/public"
server.errorlog = "/var/log/lighttpd/domain/beta/error.log"
accesslog.filename = "/var/log/lighttpd/domain/beta/access.log"
setenv.add-environment = ("FUEL_ENV" => "production")
url.rewrite-once = (
"/(.*)\.(.*)" => "$0",
"/(js|ico|gif|jpg|png|swf|css|html)/" => "$0",
"^/([^.]+)$" => "/index.php/$1")
server.error-handler-404 = "/index.php"
}
}
我对某些子域(demo,faq,...)进行了特定的配置,这些子域是从开始过滤的。 所有未过滤的子域都由应用程序动态管理,因此必须保持可访问状态,但仅限于SSL。
你说“服务器无法发送答案”,这是什么意思?如果你请求一个http页面,服务器返回的是什么?另外,您是否阅读过lighttpd [http to https](http://redmine.lighttpd.net/projects/1/wiki/HowToRedirectHttpToHttps)文档? – Macattack
我使用Chrome Inspect元素跟踪记录的网络活动。浏览器发出的请求在使用HTTP时处于待定状态,并在使用HTTPS时得到完全解答。 –