Bağlama dayalı güvenli bir URL oluşturmak için çeşitli yöntemler kullanarak tanıdık, yani:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
Bu , güvenli moddayken güvenli bir sayfaya yönlendirecek bağlantılar oluşturmak için harika çalışır (veya güvenli mod kullanılmıyorsa güvenli olmayan sayfaya bağlanır ).
Baktığım sorun Magento'nun sadece birkaç özel sayfayı güvenli olması gerektiği gibi (müşteri hesabı, ödeme vb.) Ele almasıdır. Ne tercih ediyorum kullanıcı şu anda güvenli modunda ise Magento her zaman güvenli bir bağlantı kullanmak ya da kullanıcı güvenli olmayan modunda ise güvenli olmayan bağlantı kullanmak olacaktır.
Söyleyebileceğim kadarıyla, tek gerçek seçeneklerim:
- Her bir örneğini
$this->getUrl()
yukarıdaki snippet'e benzer olacak şekilde değiştirin. base_url
HTTPS'yi kullanmak için güvenli olmayan olarak ayarlayın , tüm sayfaları güven altına almaya zorlayın.
$this->getUrl()
Kullanıcının bağlamından bağımsız olarak her sayfayı değiştirmek veya tüm sayfaları HTTPS'ye zorlamak zorunda kalmayacak daha iyi bir yöntem var mı ?
-- Düzenle --
/app/code/core/Mage/Core/Model/Url.php->setRouteParams()
Yöntemi değiştirebileceğimin farkındayım , ancak daha temiz bir yol olduğunu umuyorum.