2012-08-05 111 views

回答

0

而不是检查“如果SSL证书不存在”,勾选“如果SSL模块上”的 - 后者需要通过自身的证书

<IfModule mod_rewrite.c> 
RewriteEngine on 

    <IfModule mod_ssl.c> 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 
    </IfModule> 

</IfModule> 
+1

不一定。加载mod_ssl这一事实并不意味着它已经被配置。 – Bruno 2012-08-05 15:50:32

+0

您发布的代码不符合您的要求。它不测试SSL是否“开启”,仅测试SSL模块是否已加载。没有答案。 – EJP 2012-08-05 21:28:47

+0

@EJP:问题是,如果ssl引擎是* on *,所有SSL_ *变量都将是有意义的,只有在您已经使用SSL的情况下才会发生这种情况...所以唯一可以看到的其他选项是检查ssl **可以被使用,并且只有当模块被启用时才会发生......我在哪里错了? – poncha 2012-08-06 12:54:06

0

如果没有安装的Apache证书,该协议不能可能是HTTPS。