web-dev-qa-db-fra.com

Joomla Site ne détecte pas le protocole https

J'ai un site Joomla que je termine et charge maintenant sur le serveur qui hébergera le site en direct. Je reçois maintenant l'erreur suivante dans la console javascript:

Contenu mixte: la page " https://mydomain.com " a été chargée via HTTPS, mais a demandé une feuille de style non sécurisée.

Une vue source révèle

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

Cette valeur href semble être définie dans /libraries/joomla/document/renderer/html/head.php , qui appelle

$document->getBase() 

pour obtenir cette valeur. Dans /libraries/joomla/document/document.php , cette valeur est définie avec un $options tableau transmis au constructeur, mais je ne trouve pas où ces options sont définies.

J'avais pensé à cette valeur, ainsi qu'aux constantes JPATH_BASE, JPATH_ROOT, JPATH_SITE, etc., seraient attribués quel que soit le protocole utilisé par le site. Me manque-t-il un paramètre quelque part à l'arrière du site?

J'utilise Joomla 3.7.2

5
Mary Kalinosky

C'est donc la valeur de base href qui pose problème. Commenter la tâche dans /libraries/joomla/document/renderer/html/head.php fera l'affaire.

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

Cependant, il serait préférable de résoudre le problème de l'attribution de la valeur correcte. J'ai trouvé une meilleure solution sur StackOverflow ici:

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

La réponse acceptée à cette question nous dit "il y a des serveurs où $_SERVER['HTTPS'] n'est évidemment pas initialisé. "La vraie solution consiste donc à réparer le fichier .htaccess ou, comme je l'ai fait, le fichier httpd.conf en ajoutant les éléments suivants:

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

Je suppose que j'aurais pu continuer à chercher avant de poser ma question ici, mais en postant la réponse, je pourrais peut-être sauver à quelqu'un d'autre les heures que j'ai passées hier sur ce problème.

5
Mary Kalinosky