Identifique si la URL actual es http o https en un proyecto

Tengo un sitio web en Zend framework. Aquí quiero identificar si la URL actual contiene HTTPS o HTTP. He usado el siguiente código

if($_SERVER['HTTPS']==on){ echo "something";}else{ echo "something other";} 

Pero el resultado no es correcto. ¿Hay alguna otra forma de identificar esto? También tengo una pregunta más. ¿Cómo obtener la URL actual completa (incluyendo HTTP / HTTPS) usando php?

por favor, ayúdame

Gracias por adelantado

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

observe que el on debe ser una cadena.

Puede usar métodos que ya están definidos en Zend Framework en lugar de utilizar explícitamente superglobals $_SERVER .

Para determinar si la conexión es HTTP o HTTPS (este código debe ir a su controlador):

 if ( $this->getRequest()->isSecure() ) { echo 'https'; } else { echo 'http'; } 

Para obtener la URL actual completa:

 $this->getRequest()->getScheme() . '://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getRequestUri(); 

La mejor forma de verificar es

 if (isset($_SERVER['HTTPS']) && $_SEREVER['HTTPS'] != 'off') { //connection is secure do something } else { //http is used } 

Como se indica en el manual

Establezca un valor no vacío si el script se consultó a través del protocolo HTTPS.

 Note: Note that when using ISAPI with IIS, the value will be off if the 

la solicitud no se realizó a través del protocolo HTTPS.

tienes que arreglar comprobar que debería ser

 if ($_SERVER['HTTPS'] == 'on') 

o intenta seguir la función

 if(detect_ssl()){ echo "something";}else{ echo "something other";} function detect_ssl() { return ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1 || $_SERVER['SERVER_PORT'] == 443) } 

Esto comprobará si está utilizando https o http y generará la url actual.

 $https = ((!empty($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] != 'off')) ? true : false; if($https) { $url = "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; } else { $url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; }