我写了一个小函数来建立当前站点的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吗?是否需要检查协议?
谢谢!
这不是自动的。您的最高职能看起来还不错。