一尘不染

PHP获取站点URL协议-http与https

php

我写了一个小函数来建立当前站点的URL协议,但是我没有SSL,也不知道如何测试它是否可以在https下工作。 你能告诉我这是否正确吗?

function siteURL()
{
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
    $domainName = $_SERVER['HTTP_HOST'].'/';
    return $protocol.$domainName;
}
define( 'SITE_URL', siteURL() );

是否有必要像上面那样做?还是我可以像上面那样做?:

function siteURL()
{
    $protocol = 'http://';
    $domainName = $_SERVER['HTTP_HOST'].'/'
    return $protocol.$domainName;
}
define( 'SITE_URL', siteURL() );

在SSL下,即使定位标记网址使用的是http,服务器也不会自动将网址转换为https吗?是否需要检查协议?

谢谢!


阅读 335

收藏
2020-05-26

共1个答案

一尘不染

这不是自动的。您的最高职能看起来还不错。

2020-05-26