2009-09-11 6 views
2

J'ai configuré magento utiliser des liens SSL ..Magento Liens SSL

 
Base URL  https://sub.domain.com/ 
Base Link URL {{secure_base_url}} 
Base ... URL {{secure_base_url}}.../ 

Use Secure URLs in Frontend: YES 
Use Secure URLs in Backend: YES 

Frontend j'ai des liens personnalisés construit avec Mage :: getUrl ([...])

<?php 
// link to CMS page 
echo Mage::getUrl('help'); //-> http://sub.domain.com/help/ 
// link to customer account 
echo Mage::getUrl('customer/account'); //-> httpS://sub.domain.com/customer/account/ 
?> 

Pourquoi y a-t-il une différence de protocole?

// Roland

Répondre

4

En app/code/core/Mage/Customer/etc/config.xml il y a une entrée pour frontend/secure_url pour /customer.

Cela vous aidera

+0

Quelle est la meilleure pratique pour qu'il devienne par défaut, autrement dit; Si les urls sécurisées sont configurées sur 'OUI', je veux juste que tous mes liens internes commencent par https: // –

+0

probablement le mieux pour étendre ou contourner l'assistant qui fait le bâtiment d'URL, et exécute la vérification contre la config pour savoir si elle devrait être sécurisé ou non. En haut de ma tête, ce sera dans app/code/noyau/Mage/Core/Helper/Url.php (peut-être Model/Url.php?) Et vous voudriez le copier au même endroit sous le code/local ou, si vous avez déjà votre propre module, vous pouvez le réécrire dans le fichier config.xml et surpasser le bit dont vous avez besoin. – Greg

5

J'ai eu un problème avec https dans mon module personnalisé; mon travail autour était comme ça:

$loadFromSSL = $_SERVER['SERVER_PORT']==443?true:false; 

Mage::getUrl('', array('_secure'=>$loadFromSSL)) 
+0

Cela a fonctionné, mais j'ai toujours pensé que Mage :: getUrl() rendrait http/https correctement, mais j'avais des problèmes et cette solution a fonctionné pour moi. –

0

cela a fonctionné pour moi

echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true)); 

Par exemple:

si vous naviguez avec http puis

echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true)); 
// http://dominio.com/customer/account/loginPost 

si vous navigation avec https puis

echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true)); 
// https://dominio.com/customer/account/loginPost