1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Forcer le httpS (SSL) de l'URL affichée par le navigateur Web
Ce guide explique comment rediriger vers une version https sécurisée (SSL) tous les visiteurs d'un site sur Hébergement Web Infomaniak.
Cette redirection est en principe automatique avec une configuration et installation standard ⚠️ Pour de l'aide supplémentaire contacter un partenaire ou remplir un appel d'offres — lire aussi le rôle de l'hébergeur
Prérequis
- posséder un certificat SSL valide et fonctionnel pour le site Web Infomaniak
Redirection manuelle par fichier .htaccess
Il suffit de modifier ou d'ajouter les 3 lignes suivante au fichier .htaccess du site Web concerné pour que tous ses visiteurs accèdent automatiquement à sa version https sécurisée:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
- remplacer la deuxième ligne du code ci-dessus par RewriteCond %{HTTP:X-Forwarded-Proto} !https en cas de problème
Avec un CMS
La plupart des applications Web comme WordPress et Joomla possèdent des extensions/plugins qui redirigent automatiquement les visiteurs d'un site vers sa version https sécurisée.
WordPress
Si vous utilisez un système de gestion de contenu (CMS) comme WordPress pour réaliser votre site, nous vous conseillons d'installer une extension pour faire cette redirection:
- sauvegarder les fichiers et la base de données du site par précaution
- installer l'extension Really Simple SSL ou similaire depuis la console WordPress et l'activer
- les visiteurs sont désormais automatiquement redirigés sur la version https du site
- en cas de soucis avérés (persistants après effacement du cache, etc.) vous pouvez également utiliser Velvet Blues update URLs
Joomla
- trouver la ligne var $live_site =''; dans le fichier de configuration de Joomla (configuration.php) sur le serveur
- remplacer par var $live_site = 'https://www.domain.xyz';
- ajouter trois lignes dans votre fichier .htaccess sur le serveur:
RewriteEngine On
RewriteCond %{HTTPS} OFF
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} - ouvrir le panneau d'administration Joomla dans "Système - Configuration"
- cliquer sur l'onglet "Serveur" et sous "Forcer SSL" choisir "Administration et site"
- enregistrer et les visiteurs seront désormais automatiquement redirigés sur la version https du site
Prestashop
- accéder aux paramètres généraux dans le back-office de Prestashop, afin d'activer le SSL:
- < v1.7 cliquer sur "Préférences" puis sur "Générales"
- > v1.7 cliquer sur "Paramètres de la boutique" puis sur "Général"
- basculer le bouton "Activer le SSL" sur "OUI"
- cliquer sur "Enregistrer"
- au mĂŞme endroit, basculer le bouton "Activer le SSL sur tout le site" sur "OUI"
- cliquer sur "Enregistrer"
Dans le cas où un cadenas de sécurité n’apparaît pas dans le navigateur ou qu'un avertissement est affiché, il faut regarder du côté template ou modules car il arrive parfois que ceux-ci ne soient pas parfaitement compatibles avec le SSL. Votre Prestashop charge alors des éléments (images, fichiers .css ou .js, polices d'écritures...) en "http" alors que ceux-ci devraient désormais être chargés en "https".
Drupal
Cet article (en anglais) explique comment passer un site Drupal de http Ă https.
Solutions alternatives
Remplacer domain.xyz par votre nom de domaine avec l'extension adéquate (.com, .fr, .ch, etc.)
Dans votre fichier .htaccess, pour forcer l'URL du site Ă ĂŞtre https:// mais sans www :
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
Dans le cas d'une boucle de redirection, adapter le code ci-dessus par :
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
Dans votre fichier .htaccess, pour forcer la redirection avec www
avec les sous-domaines :
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
Dans le cas d'une boucle de redirection, adapter le code ci-dessus par :
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
et sans les sous-domaines :
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
Dans le cas d'une boucle de redirection, adapter le code ci-dessus par :
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
Erreurs courantes suite Ă une redirection https
Pour résoudre les problèmes courants qui peuvent survenir suite à une redirection de votre site Web sur sa version https sécurisée, consulter ce guide (cliquer ici).