Ich habe eine Website, auf die sowohl über http als auch über https zugegriffen werden kann. Ich sehe die Sicherheitsüberprüfung Beschwerden, base_url
die nicht in definiert ist settings.php
.
Wenn ich es jedoch als definiere http://example.com
und alle Caches leere, wird meine Vorlage in https nicht gerendert.
Wenn ich die $base_url
Zeile auskommentiere, wird settings.php
alles wieder normal.
Wie kann ich dieses Problem lösen?
Antworten:
Sie müssen wahrscheinlich so etwas tun:
... damit Drupal weiß, welches Protokoll verwendet werden soll, je nachdem, wie auf die Site zugegriffen wurde.
quelle
Ich hatte Glück mit:
Um das Sitzungscookie beizubehalten, füge ich normalerweise Folgendes hinzu:
Dies ermöglicht einen gemischten Modus.
quelle
url('path', array('absolute'=>TRUE));
als gerendert werden//mysite.com/path
. Sie sollten eher den Ansatz von @ colan als diesen verwenden.Dies funktioniert gut für mich mit mehreren Domains auf derselben Drupal-Installation über CloudFlare:
So funktioniert es auch gut mit CloudFlare Flexible SSL. Ich kann mit und ohne SSL auf die Site zugreifen.
(Es scheint, dass Sie das Cloudflare-Modul nicht benötigen, aber es würde auch nicht schaden, es zu aktivieren.)
quelle
Leider besteht das Problem beim Festlegen des Protokolls in Bezug auf die URL, auf die zugegriffen wird, darin, dass die Site beim Erstellen der zwischengespeicherten Dateien nur auf diese verweist und daher alle Verweise auf Dateien und Ressourcen basierend auf dem Protokoll erstellt, das beim Wiederherstellen des Site-Cache verwendet wird.
Wenn Sie also den Cache aus https neu erstellen, sind alle Links https. Wenn Sie die Site von http aus neu erstellen, sind alle Links http.
Das Wiederherstellen von https funktioniert am besten, aber Browser blockieren möglicherweise immer noch den sicheren Inhalt und erfordern möglicherweise, dass Benutzer den blockierten Inhalt manuell zulassen.
quelle