Vous souhaitez passer votre site PrestaShop en HTTPS mais vous êtes sous une version 1.5 qui ne permet d’activer le HTTPS que pour l’accès à l’espace membre et au tunnel de commande ? En plus du fait que cela ne soit pas très utile de laisser le reste du site en HTTP, vous risquez surtout de faire fuir vos clients à la prochaine mise à jour de Google Chrome. Pas de panique, ce tutoriel vous explique comment éviter cela en passant tout votre site PrestaShop en HTTPS !
Pour que la solution ci-dessous fonctionne sans problème, vous devez préalablement activer le SSL via votre back-office et avoir bien évidemment installé un certificat SSL sur votre hébergement.
Modifiez le fichier Htaccess
Tout d’abord, nous allons créer une règle de redirection dans le fichier HTACCESS situé à la racine de votre site. Pour cela, ouvrez votre fichier HTACCESS via un éditeur de texte comme le bloc-note et ajoutez le code ci-dessous tout en haut du fichier.
Prenez-soin de ne pas placer ce code entre les lignes # ~~start~~ et # ~~end~~ au risque de perdre votre édition lors de la prochaine régénération du fichier Htaccess par PrestaShop.
Ces quelques lignes de code permettent d’indiquer à votre site que toutes les urls de votre site doivent désormais être redirigées vers https://
Éditez la classe Tools.php
Ouvrez ensuite le fichier classes/Tools.php et cherchez la fonction getShopDomain().
Éditez-la de façon à avoir le code ci-dessous :
Éditez le fichier product.tpl
Pour terminer, ouvrez le fichier themes/VOTRE_THEME/product.tpl et recherchez l’appel de la description de votre produit. Éditez alors cette ligne comme ceci :
Dans le cas où vous auriez ajouté des images dans vos descriptions via un lien http://, ce code permettra de remplacer automatiquement tous les « http » par « https ».
En cas d’erreur ERR_TOO_MANY_REDIRECTS
Malgré le fait que vous ayez suivi scrupuleusement les indications ci-dessus, il est possible que certaines pages de votre site ne s’affichent pas. Ainsi, si vous observez l’erreur ERR_TOO_MANY_REDIRECTS dans votre navigateur lorsque vous tentez d’accéder à une page de produit par exemple, cela signifie qu’il y a une boucle de redirection qui pose problème.
Il faut dans ce cas éditer la fonction redirectLink() de la classe Tools.php (la même classe que celle de la fonction getShopDomain() que vous avez précédemment éditée.
Recherchez alors cette fois la classe afin d’avoir un code similaire à celui ci-dessous :
Bonjour, excellent initiative.
Le tuto à l’air intéressant, seul problème, les images sont illisibles.
Cordialement,
Bonjour,
Effectivement, les images sont un peu petites. Cela est dû à la migration de nos contenus vers le nouveau site ! On va remédier à cela ! Si cet article vous a aidé, n’hésitez pas à laisser un avis sur digiactif.fr/avis-google, ça fait toujours plaisir 🙂
Bonjour,
J’ai suivi à la lettre vos indications et cela fonctionne !
Merci beaucoup 🙂
Merci pour votre message Guy. Bienvenue dans le monde du HTTPS !
Bonjour,
J’ai bien tout suivi mais ça ne fonctionne pas.
J’ai le message ERR_TOO_MANY_REDIRECTS
J’ai vidé les cookies et le cache, test en nav. privée, j’ai même supprimé le class_index.php dans le dossier cache au cas où.
Est ce qu’il faut adapter si le site est dans un sous-répertoire http://www.domaine.com/rep/
Bonjour,
Il y a parfois des cas particuliers. N’hésitez pas à nous contacter via le formulaire de contact pour étudier votre problématique spécifique.
Bonjour,
J’ai l’erreur ERR_TOO_MANY_REDIRECTS que dans le back office des produits.
J’ai vérifié le fichier tools.php mais il n’y a pas d’erreur.
Que pourrais je faire d’autre.
Merci pour votre retour.
Bonjour, il y a probablement un problème avec d’autres redirections dans votre htaccess.