📅  最后修改于: 2023-12-03 15:33:38.537000             🧑  作者: Mango
在Web开发中,我们经常需要检查URL是http还是https。这个小技巧可以帮助我们根据需要采取不同的操作,如重定向到安全的https版本网站。
PHP的$_SERVER
全局数组可以访问Web服务器的环境变量,包括HTTPS
变量 。HTTPS
变量提供了关于当前请求是否通过HTTPS安全访问的信息。如果存在,则返回一个非空的字符串,否则返回布尔值false
。
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
// URL is HTTPS
} else {
// URL is HTTP
}
PHP的parse_url()
函数将URL拆分成其组成部分,包括协议。我们可以获取协议和相应地判断URL是否为HTTP或HTTPS。
$url = 'http://www.example.com';
$url_components = parse_url($url);
if ($url_components['scheme'] == 'https') {
// URL is HTTPS
} else {
// URL is HTTP
}
PHP的filter_var()
函数是一种用于验证和过滤数据的强大工具。我们可以使用它来验证URL协议是否为HTTP或HTTPS。
$url = 'http://www.example.com';
if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED|FILTER_FLAG_HOST_REQUIRED) !== false) {
if(strpos($url, 'https://') !== false) {
// URL is HTTPS
} else {
// URL is HTTP
}
}
以上就是检查URL是http还是https的三种方法。我们可以根据自己的需求选择适合自己的方法。