我在Magento中有一个表单显示在不安全的URL(http)上,但我需要它提交到安全URL(https)。
我显示的网址目前使用以下代码:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
我假设我需要将URL_TYPE_WEB更改为其他内容。有谁知道其他东西是什么?
答案 0 :(得分:48)
你试过这个吗?
Mage::getUrl('',array('_secure'=>true))
我认为这会让你成为基本的安全网址。我相信。
Mage::getUrl('customer/account/login',array('_secure'=>true))
将进入登录页面。换句话说,
Mage::getUrl('module/controller/action',array('_secure'=>true))
将您带到任何您想要的页面,只需将'module / controller / action'替换为适当的组合。
编辑 - 修正错别字
答案 1 :(得分:11)
http://blog.geekslikeshinythings.com/2014/12/magento-force-secure-urls-https-on-all.html
这适用于Magento 1.9.1 使用你的app / etc / config.xml文件
<?xml version="1.0"?>
<config>
<frontend>
<secure_url>
<all>/</all>
</secure_url>
</frontend>
</config>
如果用户使用https,则应强制所有网址重写(创建为)为https。
答案 2 :(得分:6)
使用:
Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_SECURE_BASE_URL);
读取已在admin中设置的magento内的配置值。
答案 3 :(得分:3)
这对我有用
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
例如:
如果您使用 http 进行浏览,那么
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
// http://dominio.com/customer/account/loginPost
如果您使用 https 进行浏览,那么
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
// https://dominio.com/customer/account/loginPost
答案 4 :(得分:1)
您可以在代码中以及xml中执行此操作。
例如,如果要为结帐页面设置https,则必须在自定义config.xml中添加以下代码:
<code>
<secure_url>
<checkout_onepage>/checkout/onepage</checkout_onepage>
<checkout_multishipping>/checkout/multishipping</checkout_multishipping>
</secure_url>
</code>
Magento有一个默认的https功能可以用于结账,因此您可以对其他页面执行相同的操作,例如客户页面:
<code>
<secure_url>
<customer>/customer/</customer>
</secure_url>
</code>
我希望它会帮助你。
答案 5 :(得分:0)
试过这个为我工作。
法师::使用getURL(&#39;&#39;,阵列(&#39; _secure&#39; = GT;真))
最后添加此代码后,如下所示
IWD.ProductVideoView.urlGetVideo = "<?php echo Mage::getUrl('iwd_productvideo/player/getvideo/',array('_secure'=>true)); ?>?isAjax=true";