通过代码的方式的,比较简洁,容易控制.通过iis管理器的url重写或301重定向,总是出现各种冲突问题
以下代码解释.如果访问的url中,不是https安全链接.或者是不带www的域名,则说明都不符合本站的要求,那么,都需要进行完整链接(https://www.12.com)的跳转,不再做进一步的判断
if ($_SERVER['HTTPS'] == 'off' or $_SERVER['HTTP_HOST']=== '12.com' ) {// 静态跳转到 www.12.com ,域名写死了,如果以后修改域名,或网站有多个域名.可能会遇到问题.$redirectURL = 'https://www.12.com' . $_SERVER['REQUEST_URI'];header('HTTP/1.1 301 Moved Permanently');header('Location: ' . $redirectURL);exit();
}
如果不关心www主域名问题.则直接判断是否是https就行了,以下是百度上的答案
// 检查是否是HTTP
if ($_SERVER['HTTPS'] !== 'on') {// 是HTTP,计算当前URL的路径$current_url = $_SERVER['REQUEST_URI'];// 用的动态域名,不影响多域名问题header('HTTP/1.1 301 Moved Permanently');header('Location: https://' . $_SERVER['HTTP_HOST'] . $current_url);exit();
}
// 其他代码...