业务类的网站一般启用https,甚至要求客户端证书。但给第三方系统提供的调用接口,可能无法支持客户端证书,这时候就要求同时在apache配置https和http两个虚拟主机,并在http的这个虚拟主机上配置rewrite。下面是一个例子:
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteCond %{REQUEST_URI} !^/interface-path/.*$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
上述例子表示如果请求使用的是非https,且网址中不以/interface-path开头的,都把请求地址转换为https。当然如果没有第三行,就表示一律自动转为https。