Saya terbiasa menggunakan berbagai metode untuk menghasilkan URL aman berdasarkan konteks, yaitu:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
Ini berfungsi baik untuk membangun tautan yang akan mengarahkan ke halaman aman saat Anda berada dalam mode aman (atau hanya akan menautkan ke halaman tidak aman jika tidak menggunakan mode aman).
Masalah yang saya lihat adalah Magento hanya memperlakukan beberapa halaman khusus karena harus aman (akun pelanggan, checkout, dll). Apa yang saya inginkan adalah agar Magento selalu menggunakan tautan aman jika pengguna saat ini dalam mode aman , atau menggunakan tautan tidak aman jika pengguna berada dalam mode tidak aman.
Dari apa yang bisa saya katakan, satu-satunya pilihan nyata saya adalah:
- Ubah setiap instance
$this->getUrl()
agar mirip dengan cuplikan di atas. - Setel non-aman
base_url
untuk menggunakan HTTPS, memaksa semua halaman untuk mengamankan.
Apakah ada metode yang lebih baik yang tidak perlu harus mengubah setiap panggilan $this->getUrl()
atau memaksa semua halaman ke HTTPS terlepas dari konteks pengguna?
- edit -
Saya sadar saya dapat memodifikasi /app/code/core/Mage/Core/Model/Url.php->setRouteParams()
metode, meskipun saya berharap ada cara yang lebih bersih.