How to redirect all HTTP to HTTPS on your website?

  • September 13, 2017
  • 0 Comments

Many times, it is beneficial or even necessary to make sure your website's visitors are accessing your site using an SSL-encrypted connection (https://), whether for security, accessibility, or PCI compliance reasons.

Important: You must already have installed a SSL Certificate to enable this.

Forcing visitors to use SSL can be accomplished through your .htaccess file using mod_rewrite. To force all web traffic to use HTTPS insert the following lines of code in the .htaccess file in your website’s root folder.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

Be sure to replace www.example.com with your actual domain name.

To force a specific domain to use HTTPS, use the following lines of code in the .htaccess file in your website's root folder:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

Make sure to replace example\.com with the domain name you're trying force to https. Additionally, you also need to replace www.example.com with your actual domain name.

If you want to force SSL on a specific folder you can insert the code below into a .htaccess file placed in that specific folder:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} folder 
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

Make sure you change the folder reference to the actual folder name. Then be sure to replace www.example.com/folder with your actual domain name and folder you want to force the SSL on.


How helpful was this article to you?