close
之前在php判斷http或https只用(isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] == “on”
結果這次失效,把整個$_server印出來之後發現沒有https這個屬性,取而代之的是HTTP_X_FORWARDED_PROTO這個屬性!!
找了一下這個應該是完整版了吧!?
/**
* PHP判断当前协议是否为HTTPS
*/
function is_https() {
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
return true;
}
return false;
--
參考自 https://blog.csdn.net/haibo0668/article/details/81113133
全站熱搜