Der Vorteil Haupt Magento, ist, dass Sie alles tun können Sie damit also :) wollen, ja, können Sie die Ausgabe HTTPS Produkt URLs oder relative. Bevor wir uns jedoch für eine Lösung entscheiden, betrachten wir die Vision der Magento-Autoren.
Das HTTPS für das Frontend wurde entwickelt, um nur für bestimmte Bereiche wie Kundenkonto, Zahlungsmethoden, Checkout, usw. zu funktionieren. Es gibt nichts so Privates an Produkten, was es notwendig macht, über HTTPS betrachtet zu werden.
Standardmäßig verwendet Magento HTTPS auch für die oben genannten Seiten nicht. Um HTTPS einzuschalten, muss die Option "Sichere URLs im Frontend verwenden" auf "Ja" gesetzt sein. Was, wie beschrieben, HTTPS nur in begrenzten Mengen von Seiten, die einige private Daten enthalten, aktiviert.
Also die beste Lösung für Sie hängt von Besonderheiten des Geschäfts, die Sie entwickeln.
1) Wenn Sie HTTPS für alle Seiten im Frontend aktivieren möchten, dann ist die beste Lösung, "https: // ..." in die Option "Basis-URL" für die "Unsichere" Web-URL-Konfiguration zu setzen.
2) Wenn Sie HTTPS nur für Produktlinks und nur für eine begrenzte Anzahl von Seiten aktivieren möchten, können Sie Vorlagen dieser Seiten überschreiben, um dort relative URLs zu setzen. Der eigentliche Code kann die einfachste bereits vorgeschlagen, wie Sie möchten, auch in irgendeiner Art und Weise implementiert werden, ist ok:
echo trim($_product->getProductUrl(),'http:')
3) Wenn Sie möchten, für alle Produkt Links am Frontend HTTPS engagieren - dann der beste Weg ist, um außer Kraft setzt Mage_Catalog_Module_Product_Url
Modell und Änderungsverfahren getUrl()
- Dies wird produziert alle Produkte Urls mit HTTPS-Protokoll Sie müssen dort
$routeParams['_secure'] = true;
setzen.
4) Wenn HTTP-Produktlinks nur auf HTTP-Seiten und HTTPS-Produktlinks nur auf HTTPS-Seiten angezeigt werden sollen, können Sie Methode 3) mit einer ausgefeilteren Logik verwenden: Überprüfen Sie das Protokoll der aktuellen Seite, bevor Sie _secure setzen 'Parameter.
Hoffe, es hilft.
Die Frage fehlt Details: 1) Was ist "auch wenn ich auf HTTPS bin" - haben Sie Frontend über "https: //" Link eingegeben? 2) Was ist die Konfiguration für "Base URL", "Base Link URL" und "Benutze Secure URLs im Frontend" im Abschnitt "Generelle \ Web \ Secure"? –
Aktualisiert die Frage, danke @AndreyTserkus –