我尝试将用户从https://www.example.com
重定向到https://example.com
(因为SSL证书仅适用于后者),这在Chrome中使用此代码非常有效:
if(isset($_SERVER['HTTPS']) and $_SERVER['SERVER_PORT'] == 443){
// We are on https version
if(strtolower($_SERVER['SERVER_NAME']) == 'www.example.com'){
// Wrong domain: Redirect to safety
header('Location: https://example.com/', true, 301);
exit();
}else{
// We are safe
die('SSL certificate OK: Your credit card is now safe');
}
}else{
// Redirect to safety
header('Location: https://example.com/', true, 301);
exit();
}
然而, Firefox 拒绝重定向并且一直显示正常的 INSECURE SITE:现在离开此页面或者您的信用卡将被盗等警告&#&strong> 39;是的。是否有一些解决方法强制此Firefox进行FIRST重定向,然后检查SSL证书,就像Chrome已经做的那样?
注意:我没有使用IIS,因此我不需要检查$_SERVER['HTTPS']
的值,它按原样运行。