Base de connaissances

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.

 

Préambule

 

Redirection manuelle par fichier .htaccess

Prérequis

  • Posséder un certificat SSL valide et fonctionnel pour le site Web Infomaniak.

Ensuite, modifiez ou d'ajoutez 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]

Remplacez domain.xyz par votre nom de domaine avec l'extension adéquate (.com, .fr, .ch, etc.).

Remplacez 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:

  1. Sauvegardez les fichiers et la base de données du site par précaution.
  2. Installez l'extension Really Simple SSL ou similaire depuis la console WordPress et activez-la.
  3. Les visiteurs sont désormais automatiquement redirigés sur la version https du site.

Joomla

Remplacez domain.xyz par votre nom de domaine avec l'extension adéquate (.com, .fr, .ch, etc.).

  1. Trouvez la ligne

    var $live_site ='';

    dans le fichier de configuration de Joomla (configuration.php) sur le serveur.

  2. Remplacez par

    var $live_site = 'https://www.domain.xyz';
  3. Ajoutez trois lignes dans votre fichier .htaccess sur le serveur:

    RewriteEngine On
    RewriteCond %{HTTPS} OFF
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  4. Ouvrez le panneau d'administration Joomla dans "Système - Configuration".
  5. Cliquez sur l'onglet "Serveur" et sous "Forcer SSL" choisir "Administration et site".
  6. Enregistrez et les visiteurs seront désormais automatiquement redirigés sur la version https du site.

Prestashop

  1. Accédez aux paramètres généraux dans le back-office de Prestashop, afin d'activer le SSL:
    1. < v1.7 cliquer sur "Préférences" puis sur "Générales"
    2. > v1.7 cliquer sur "Paramètres de la boutique" puis sur "Général"
  2. Activez le bouton à bascule (toggle switch) "Activer le SSL" sur "OUI"
  3. Cliquez sur "Enregistrer"
  4. Au même endroit, activez le bouton à bascule (toggle switch) "Activer le SSL sur tout le site" sur "OUI".
  5. Cliquez 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

Prenez connaissance de cet article (en anglais) qui explique comment passer un site Drupal de http à https.

 

Solutions alternatives

Remplacez 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, adaptez 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, adaptez 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, adaptez 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, prenez connaissance de cet autre guide.


Cette FAQ a été utile?