it-swarm.com.de

Joomla Site erkennt das https-Protokoll nicht

Ich habe eine Joomla-Site, die ich gerade fertigstelle und auf den Server lade, auf dem die Live-Site gehostet wird. Ich erhalte jetzt die folgende Fehlermeldung in der Javascript-Konsole:

Gemischter Inhalt: Die Seite unter ' https://mydomain.com ' wurde über HTTPS geladen, forderte jedoch ein unsicheres Stylesheet an

Eine Ansichtsquelle enthüllt

<base href="http://mydomain.com"

Dieser href-Wert scheint in /libraries/joomla/document/renderer/html/head.php gesetzt zu sein, was aufruft

$document->getBase() 

um diesen Wert zu erhalten. In /libraries/joomla/document/document.php wird dieser Wert mit einem Array $options Festgelegt, das an den Konstruktor übergeben wird, jedoch an I kann nicht finden, wo diese Optionen festgelegt sind.

Ich hatte gedacht, dass dieser Wert sowie die Konstanten JPATH_BASE, JPATH_ROOT, JPATH_SITE Usw. dem von der Site verwendeten Protokoll zugewiesen werden. Vermisse ich irgendwo am hinteren Ende der Site eine Einstellung?

Ich benutze Joomla 3.7.2

5
Mary Kalinosky

Es ist also wirklich der Basis-HF-Wert, der das Problem verursacht. Das Auskommentieren der Zuweisung in /libraries/joomla/document/renderer/html/head.php Reicht aus.

// Generate base tag (need to happen early)
/*
$base = $document->getBase();
if (!empty($base))
{
    $buffer .= $tab . '<base href="' . $base . '" />' . $lnEnd;
}
*/

Es ist jedoch am besten, das Problem der Zuweisung des richtigen Werts tatsächlich zu lösen. Ich habe hier eine bessere Lösung für StackOverflow gefunden:

https://stackoverflow.com/questions/19733229/joomla-base-href-uses-http-instead-of-https

Die akzeptierte Antwort auf diese Frage sagt uns, "es gibt Server, auf denen $_SERVER['HTTPS'] Offensichtlich nicht initialisiert ist." Die eigentliche Lösung besteht also darin, die .htaccess-Datei oder, wie ich es getan habe, die httpd.conf-Datei zu reparieren, indem Sie Folgendes hinzufügen:

<IfModule mod_env.c>
   SetEnv HTTPS on
</IfModule>

Ich hätte wohl weiter suchen können, bevor ich meine Frage hier gepostet habe, aber wenn ich die Antwort gepostet habe, kann ich vielleicht jemand anderem die Stunden ersparen, die ich gestern für dieses Problem aufgewendet habe.

5
Mary Kalinosky