【发布时间】:2010-08-11 12:01:42
【问题描述】:
我正在 Magento 网站上安装 Clicky 代码。我想仅在启用 HTTPS 的 Magento 页面上使用他们的 HTTPS 跟踪器。我该怎么做?
我试过了
<?php if($_SERVER['https'] == 'on') : ?>
但这不起作用。
任何关于识别 HTTPS 页面的建议都会有很大帮助!
谢谢。
【问题讨论】:
-
作为下面答案的旁注,你不能省略协议吗?
我正在 Magento 网站上安装 Clicky 代码。我想仅在启用 HTTPS 的 Magento 页面上使用他们的 HTTPS 跟踪器。我该怎么做?
我试过了
<?php if($_SERVER['https'] == 'on') : ?>
但这不起作用。
任何关于识别 HTTPS 页面的建议都会有很大帮助!
谢谢。
【问题讨论】:
Magento 实际上为你提供了一个方法。
使用它来检查您是否处于安全模式:
// check to see if your store is in secure mode
$isSecure = Mage::app()->getStore()->isCurrentlySecure();
希望有帮助!
谢谢, 乔
【讨论】:
原生 Magento 解决方案
$isSecure = Mage::app()->getFrontController()->getRequest()->isSecure();
($isSecure) ? 'https://' : 'http://';
这有助于检查您的店面是在 https 还是 http
【讨论】:
这可能看起来有点“黑客”,但您可以检查服务器协议并检查协议中是否存在字符“HTTPS”? :
<?php
$protocol = $_SERVER['SERVER_PROTOCOL'];
$protocol = substr($protocol,0,5); //will return something like HTTP/ or HTTPS
if(preg_match("^HTTPS^",$protocol)){
echo "ITS HTTPS";
}
?>
【讨论】:
最好的选择如下
<?php if( $_SERVER['HTTPS'] || strtolower($_SERVER['HTTPS']) == 'on' ){ /* HTTPS */ } else{ /* NOT SO HTTPS */ } ?>
【讨论】: