J'ai un site accessible à la fois via http et https. Je vois que l' examen de sécurité se plaint qui base_url
n'est pas défini dans settings.php
.
Cependant, lorsque je le définis comme http://example.com
et que je vide tous les caches, mon modèle en https n'est pas rendu.
Quand je commente la $base_url
ligne, settings.php
tout revient à la normale.
Comment puis-je résoudre ce problème?
Réponses:
Vous devez probablement faire quelque chose comme ceci:
... afin que Drupal sache quel protocole utiliser en fonction de la façon dont le site a été consulté.
la source
J'ai eu de la chance avec:
Aussi, pour maintenir le cookie de session, j'ajoute généralement:
qui permet un mode mixte.
la source
url('path', array('absolute'=>TRUE));
comme//mysite.com/path
. Vous devriez utiliser l'approche de @ colan plutôt que celle-ci.Cela fonctionne bien pour moi avec plusieurs domaines sur la même installation Drupal sur CloudFlare:
Comme cela, il fonctionne également bien avec SSL flexible CloudFlare. Je peux accéder au site avec et sans SSL.
(Il semble que vous n'ayez pas besoin du module Cloudflare mais cela ne ferait pas de mal non plus de l'activer.)
la source
Malheureusement, le problème lié à la définition du protocole par rapport à l'URL accessible est que le site ne fait référence qu'à cela lors de la création des fichiers mis en cache et crée donc toutes les références aux fichiers et aux ressources en fonction du protocole utilisé lors de la reconstruction du cache du site.
Donc, si vous reconstruisez le cache à partir de https, tous les liens sont https. Si vous reconstruisez le site à partir de http, tous les liens sont http.
La reconstruction à partir de https fonctionne mieux, mais les navigateurs peuvent toujours bloquer le contenu sécurisé et peuvent demander aux utilisateurs d'autoriser manuellement le contenu bloqué.
la source