Webverkeer omleiden naar HTTPS

Zodra je je website met een SSL certificaat hebt beveiligd, is het van belang dat al het webverkeer naar je website alleen nog over het https protocol geleid wordt. Dit is van wezenlijk belang om het meeste uit je certificaat en de beveiliging die het levert te halen. Grofweg is deze overgang onder te verdelen in twee fases, het aanpassen van je website zodat deze zelf alleen nog https gebruikt en het doorsturen van je bezoekers naar de https variant.

Let op: mixed content warnings

Een website wordt opgebouwd uit html pagina's die verwijzen naar diverse afbeeldingen en css/javascript bestanden. De kans is aanwezig dat je website bij deze verwijzingen nog http:// als protocol gebruikt. Als iemand je website vervolgens op https:// bezoekt dan krijgt deze mogelijk een slecht werkende website met een gebroken slotje te zien:

HTTPS onveilig

In de developer tools zie je dan waarschuwingen zoals deze:

HTTPS mixed content waarschuwing

Dit komt omdat de browser de website niet als veilig ziet als delen ervan nog over een onbeveiligde verbinding gaan. Dit heet ook wel Mixed content warnings en kan voorkomen worden door de broncode van je website te doorzoeken op http:// en dit te vervangen met https://. Hoe je je website het beste kunt aanpassen is sterk afhankelijk van de wijze waarop deze is ontwikkeld. Mocht je er zelf niet uit komen dan raden we je aan een webdeveloper in te schakelen om je te assisteren.

Bezoeker doorsturen naar https variant

Nadat je website geen http verwijzingen meer kent kun je bezoekers die binnenkomen op een http url automatisch om laten leiden naar de https-variant, bijvoorbeeld http://jedomein.nl/een/pagina.html wordt https://jedomein.nl/een/pagina.html. Dit mede om je bezoekers optimaal te beveiligen maar ook om ervoor te zorgen dat zoekmachines zoals Google alleen nog de https-variant van je website in de zoekresultaten zal opnemen.

Je bezoekers doorsturen kan op meerdere manieren;

  1. Je kunt de "Forceer HTTPS" functie inschakelen voor je pakket, ga hiervoor naar Domeinen > domeinnaam.nl > SSL
  2. Je kunt zelf in de broncode van je website de redirect instellen

1. Forceer functie

Door de "Forceer HTTPS" functie in te schakelen wordt de http->https 301-redirect geregeld door onze loadbalancer. Deze methodiek is extreem snel omdat er geen backend aan te pas komt. Daarnaast is het veiliger omdat deze redirect geldt voor het hele domein.

2. Broncode aanpassen website

Als je liever meer controle over je redirects wilt, dan kun je deze ook zelf inbouwen in je website. Een veel voorkomende methode hiervoor is het gebruik van mod_rewrite. Maak een .htaccess bestand aan in de eerste directory van je account en plak daarin deze code:

  <IfModule mod_rewrite.c>    
  RewriteEngine On
  RewriteCond %{ENV:HTTPS} !on 
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </IfModule>

Let op, de bovenstaande regels kunnen mogelijk conflicteren met reeds bestaande mod_rewrite regels. Neem eventueel contact op met een webdeveloper.

Een andere methode is om de redirect binnen PHP te programmeren, hierbij kun je gebruik maken van de $_SERVER['HTTPS'] variabele, bijvoorbeeld:

if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off') {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    exit;
}

Meer tips

Wordpress gebruikers raden we aan ook het artikel Moving to HTTPS on WordPress te lezen. Tot slot is het artikel Online.marketing - All you need to know for moving to HTTPS aan te raden voor de gevorderde developer als een zeer volledige handleiding over de transitie naar https en de mogelijke impact op SEO.