After installing an SSL certificate, your website is available over HTTP and HTTPS. However, it’s better to use only the latter because it encrypts and secures your website’s data. You can also use the .htaccess file to force HTTPS connection. This tutorial will show you how.

Please note than an HTTPS connection requires SSL to be enabled.

Forcing HTTPS on All Traffic:
One of the many functions you can perform via .htaccess is the 301 redirects, which permanently redirects an old URL to a new one. You can activate the feature to force HTTPS on all incoming traffic by following these steps:

Go to File Manager in your cPanel and open .htaccess inside the public_html folder. If you can’t locate it, create a new file called ".htaccess".
Scroll down to find RewriteEngine On and insert the following lines of code below it:

RewriteEngine On
RewriteCond %{SERVER_PORT}80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Save the changes.

If you already have an existing .htaccess file, do not duplicate "RewriteEngine On". Make sure the lines beginning with "RewriteCond" and "RewriteRule" immediately follow the already-existing "RewriteEngine On"

Forcing HTTPS on a Specific Domain
Let’s say that you have two domains: http://yourdomain1.com and http://yourdomain2.com. Both domains access the same website, but you only want the first one to be redirected to the HTTPS version. In this case, you need to use the following code:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain1.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Make sure to replace yourdomain1.com with the actual domain you’re trying to force HTTPS on.

Forcing HTTPS on a Specific Folder
The .htaccess file can also be used to force HTTPS on specific folders. However, the file should be placed in the folder that will have the HTTPS connection.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(folder1|folder2|folder3) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Make sure to change the folder references to the actual directory names.

After making the changes, clear your browser’s cache and try to connect to your site via HTTP. If everything was added correctly, the browser will redirect you to the HTTPS version.

Congratulations! you have successfully edited your .htaccess file and redirected all HTTP traffic to HTTPS, the safe version of your website. Depending on the platform where you developed your website, there could be alternative methods to enable this feature. For example, you can configure your WordPress site to work with HTTPS using plugins.
Was this article helpful?
Cancel
Thank you!