1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
Force the HTTPS (SSL) of the URL displayed by the web browser
This guide explains how to redirect to a secure https (SSL) version all visitors to a site on Web Hosting Infomaniak.
Preamble
- This redirection is usually automatic with standard configuration and installation.
- For additional help contact a partner or launch a free tender — also discover the role of the host.
Manual redirection via .htaccess file
Prerequisites
- Have a valid and functional SSL certificate for the Infomaniak website.
Next, modify or add the following 3 lines to the .htaccess
file of the relevant website so that all its visitors automatically access its secure https version:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
domain.xyz
by your domain name with the appropriate extension (.com, .fr, .ch, etc.).Replace the second line of the code above with RewriteCond %{HTTP:X-Forwarded-Proto} !https
if you encounter any issues.
With a CMS
Most web applications like WordPress and Joomla have extensions/plugins that automatically redirect visitors to the secure https version of a site.
WordPress
If you use a content management system (CMS) like WordPress to create your site, we recommend installing an extension to perform this redirection:
- Back up the site's files and database as a precaution.
- Install the extension Really Simple SSL or similar from the WordPress console and activate it.
- The visitors are now automatically redirected to the https version of the site.
Joomla
domain.xyz
with your domain name with the appropriate extension (.com, .fr, .ch, etc.)Find the line
var $live_site ='';
in the Joomla configuration file (
configuration.php
) on the server.Replace with
var $live_site = 'https://www.domain.xyz';
Add three lines to your
.htaccess
file on the server:RewriteEngine On RewriteCond %{HTTPS} OFF RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
- Open the Joomla administration panel in "System - Configuration".
- Click on the "Server" tab and under "Force SSL" select "Administration and site".
- Save and visitors will now be automatically redirected to the https version of the site.
Prestashop
- Access the general settings in the Prestashop back-office to activate SSL:
- < v1.7 click on "Preferences" then on "General"
- > v1.7 click on "Shop Parameters" then on "General"
- Turn on the toggle switch "Enable SSL" to "YES
- Click on "Save
- In the same place, turn on the toggle switch "Enable SSL on the entire site" to "YES".
- Click on "Save".
In the case where a security lock does not appear in the browser or a warning is displayed, you should check the template or modules as sometimes these are not perfectly compatible with SSL. Your Prestashop then loads elements (images, .css or .js files, fonts...) in "http" while these should now be loaded in "https".
Drupal
Read this article (in English) which explains how to switch a Drupal site from http to https.
Alternative solutions
domain.xyz
by your domain name with the appropriate extension (.com, .fr, .ch, etc.)In your .htaccess
file, to force the site URL to be https:// but without www:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
In the case of a redirection loop, adjust the code above as follows:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule (.*) https://domain.xyz/$1 [R=301,L]
In your .htaccess
file, to force redirection with www
with the subdomains:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
In the case of a redirection loop, adjust the code above as follows:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
and without the subdomains:
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
In the case of a redirection loop, adjust the code above as follows:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^domain.xyz [NC]
RewriteRule (.*) https://www.domain.xyz/$1 [R=301,L]
Common errors following an https redirection
To resolve common issues that may arise after redirecting your website to its secure https version, refer to this other guide.