确定项目中当前URL是http还是https

0 php ssl https zend-framework

我在Zend框架中有一个网站.在这里,我想确定当前的URL是包含HTTPS还是HTTP?我使用了以下代码

if($_SERVER['HTTPS']==on){ echo "something";}else{ echo "something other";}
Run Code Online (Sandbox Code Playgroud)

但结果不正确.有没有其他方法来识别这个?我还有一个问题.如何使用PHP获取完整的当前URL(包括HTTP/HTTPS)?

请帮我

提前致谢

小智 13

您可以使用已在Zend Framework中定义的方法,而不是显式使用$_SERVERsuperglobals.

要确定连接是HTTP还是HTTPS(此代码应该进入您的控制器):

if ( $this->getRequest()->isSecure() ) { echo 'https'; } else { echo 'http'; }
Run Code Online (Sandbox Code Playgroud)

要获得完整的当前网址:

$this->getRequest()->getScheme() . '://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getRequestUri();
Run Code Online (Sandbox Code Playgroud)


Poe*_*rin 10

if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") { 
    echo "something";
} else { 
    echo "something other";
}
Run Code Online (Sandbox Code Playgroud)

注意on应该是一个字符串.