PrestaShop

PrestaShop en HTTPS : contenu mixte et redirections

Passer PrestaShop en HTTPS sans boucle de redirection ni contenu mixte : réglages SSL, reverse proxy, liens codés en http et vérifications après la bascule.

Pour passer PrestaShop en HTTPS sans boucle de redirection, deux réglages SSL doivent être activés, puis les liens codés en http:// doivent être corrigés. Si un reverse proxy termine le chiffrement devant la boutique, PrestaShop doit aussi lire le protocole transmis par le proxy. Les sources disponibles sont surtout des fils de forum : vérifiez chaque réglage sur votre version avant de l’appliquer.

Avant de commencer

Ce qui cause le contenu mixte

Le contenu mixte apparaît quand une page HTTPS charge une image, un script ou un lien en HTTP. Les causes les plus fréquentes, selon les retours de la communauté :

Étape 1 : activer SSL dans les réglages

Les fils de forum citent deux options, PS_SSL_ENABLED et PS_SSL_ENABLED_EVERYWHERE, à régler dans Paramètres de la boutique > Général, ou en base de données. Vérifiez aussi les champs « Domaine de la boutique » et « Domaine SSL », dans la section URL de la boutique.

Attention : les modules de paiement peuvent contrôler ces réglages séparément. Vérifiez-les après la bascule, même si la boutique semble fonctionner.

Étape 2 : corriger les liens en dur

Cherchez http:// dans les contenus CMS, les templates du thème et les fichiers de modules :

Ne modifiez pas les fichiers du cœur de PrestaShop : une mise à jour écraserait vos corrections.

Étape 3 : éviter les boucles de redirection

Une boucle apparaît quand PrestaShop croit que la requête est en HTTP alors qu’elle arrive en HTTPS. C’est le cas typique derrière un reverse proxy, comme Traefik, Nginx ou Caddy : le proxy reçoit le HTTPS, mais la boutique ne voit que du HTTP.

Un fil de forum sur PrestaShop 9 décrit une solution : transmettre le protocole dans un en-tête du proxy, puis demander à PrestaShop de le lire. La même source précise que classes/Link.php est écrasé à chaque mise à jour : ne l’éditez pas.

Évitez aussi de cumuler une redirection HTTPS dans le .htaccess et une redirection gérée par PrestaShop : elles peuvent se contredire. Si vous exploitez aussi un WordPress, notre article sur la redirection HTTP vers HTTPS sous WordPress couvre ce cas séparément.

Vérifications après la bascule

Questions fréquentes

Faut-il une redirection HTTP vers HTTPS dans le .htaccess ?

Cela dépend de votre installation. Si PrestaShop gère déjà la redirection, une seconde règle peut provoquer une boucle. Testez sur une copie.

Les réglages suffisent-ils à retirer le contenu mixte ?

Non. Les réglages changent les liens générés, mais pas ceux qui sont codés en dur dans le contenu ou les templates.

Pourquoi le paiement ne fonctionne-t-il plus après le passage en HTTPS ?

Un module de paiement peut vérifier ses propres réglages SSL. Contrôlez sa configuration et sa documentation.

Sources

Agence web PrestaShop & WordPress

Agence web spécialisée PrestaShop et WordPress : création, maintenance, sécurité, performance et référencement. Nos tutoriels sont issus de nos interventions sur de vraies boutiques.

L'agence Genisoft → LinkedIn →