Categories: Internet

How to Redirect HTTP to HTTPS

Redirecting HTTP to HTTPS is a necessary thing once you migrated your website to the SSL version. Otherwise, your website will serve two versions of the same content in the form of a non-HTTP page and an HTTPS page. For example, if you setup the SSL certificate on your website and if your web hosting provider doesn’t have the automatic redirection option, you will not redirect the HTTP visitors to the HTTPS. Luckily, most of the known web hosting services such as Siteground will automatically redirect you to the SSL version once you use the Let’s Encrypt free SSL from their CPanel.

However, after installing the SSL, make sure that your HTTP website is properly redirecting every page to the HTTPS version. If not, just follow this guide to do so.

Redirect HTTP to HTTPS

While redirecting, there may be few variation of the software and systems. So, follow the steps under the correct one.

Never save your .httaccess or other mentioned files without confirming the code is correct. Even a single incorrect word could result in a website crash. But it can be reversed by deleting the added code. Always be cautious and rake a backup of the files before editing.

Linux & cPanel

Add the following code to your .httaccess file to redirect visitors from HTTP to HTTPS.

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

There may be situations where you have to redirect some specific domains only to the HTTPS. If so, use the following code.

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

You can also force a certain folder to use HTTPS. Here is the code.

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

In above two codes, be sure to replace the example.com with your website and folder with the desired folder.

Do not repeat the “RewriteEngine On ” if you already have it on your .httaccess file. Also, make sure that the above code is placed under the existing (If there) RewriteEngine On line.

Windows & Plesk

Add the following code to your web.config to redirect non-SSL to SSL version.

<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
<match url="(.*)" /> 
<conditions> 
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions> 
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule> 
</rules>
</rewrite>
</system.webServer>
</configuration>
Make sure that all the opening tags closed properly and never repeat the existing tags in your web.config file. It means, if already there is a <configuration> tag, you shouldn’t repeat it and should place the remaining code inside that tag resulting in the above structure.

Apache

Apache HTTPS redirection can be done both using the .httaccess file and the httpd.conf file. We already discussed the .htaccess method. So, we are now looking into editing the httpd.conf file.

Go to the conf folder of your Apache server and add the following code to the httpd.conf file.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

To redirect a specific page, use this code.

RewriteEngine On
RewriteRule ^apache-redirect-http\.html$ https://www.example.com/apache-redirect-http.html [R=301,L]

Be sure to replace apache-redirect-http\.html with your URL and example.com with your website.

Nginx

To redirect all HTTPS traffic to HTTPS in Nginx servers, just add the following code to the Nginx config file.

server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri;
}

IIS

Follow these steps to redirect your site traffic to HTTPS in IIS.

This will only work in IIS7 and above.
  1. First of all, install the Microsoft URL Rewrite Module on your server.
  2. Then, Install SSL certificate.
  3. Uncheck the Require SSL under SSL Settings for your website.
  4. Copy-paste this code between the <rules> and </rules> tags in the web.config file in website root directory.
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
      <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
  5. That’s it, make sure that the server is redirecting your website to HTTPS.

WordPress

Instead of spending time on the above given complicated SSL redirection codes, you could easily do the same by installing a WordPress plugin. We are going to use the Simple SSL Plugin available in the WordPress repository. You will be also able to install SSL certificates using this plugin. Download and install the plugin on your WordPress site, install SSL certificate if you don’t already installed. The plugin will automatically redirect your HTTP traffic to the HTTPS version. If not, check the configuration of the plugin.

Joomla

To configure HTTPS redirection in Joomla, there are two phases you have to follow. They are given below. Make sure to complete the phase 1 before stepping into the phase 2.

Phase 1: configuring configuration.php file

  1. Open the configuration.php file
  2. Replace the line var $live_site =”; with var $live_site = ‘https://www.example.com’; (Only if not already done.)
  3. Now, open the .htaccess file then add the following code at the bottom.
    RewriteEngine On
    RewriteCond %{HTTPS} OFF
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Phase 2: Enabling Force SSL in Joomla

  1. Go to System > Global Configuration in the admin panel.
  2. Select Entire Site option from the drop down within the Server tab, in the Server Settings section.
  3. Click the Apply/Save button.
  4. That’s it. Check the HTTPS version of your website.

Magneto

Use the following rules to redirect HTTP to HTTPS in Magneto.

# Redirect all content to HTTPS
set $redirect "0";
if ($host ~* "^(www\.)?example.com$") { set $redirect "go"; }
if ($my_http = http)                  { set $redirect "go${redirect}"; }
if ($remote_addr ~ 172.16.0.(6[0-9])) { set $redirect "0"; }
if ($redirect = "gogo") {
  rewrite ^(.*)$ https://www.example.com$1 permanent;
}

Things to remember while redirecting HTTP to HTTPS

There are few things that you should be aware of before applying the HTTPS redirection on your website. We listed some of the below.

  • You should use the 301 permanent redirection while redirecting your website. Never use any other temporary redirection. It may result in the loss of the backlink juice which links to the HTTP version of your website. The 301 redirect directly passes the link juice without significant loss.
  • Don’t take redirection measures before confirming that all of your website pages are accessible from the HTTPS version too.
  • After applying the redirection, make sure that the site is not accessible from the HTTP version. In other words, if we enter http://example.com to the browser, it should take you to https://example.com.
  • Never save the code without double-checking everything is correctly entered.

That’s it.

Muhammed Swalih

A simple guy who loves Blogging, SEO, Graphic Designing, etc. By the way, he likes to read a lot and acquire knowledge from various sources online.

Share
Published by
Tags: SSL

Recent Posts

10 Best Software for Animation

When it comes to the content creation, making your own animation for a particular model might be one of the…

3 weeks ago

10 Best Software for Editing Photos

Are you interested in photography, or have seen a photo that's just plain amazing? Do you wonder how they do…

5 months ago

10 Best Screen Recorder Software for Windows

Wouldn't it be great if we could somehow record our screen or gameplay and keep it for ourselves? Well sure.…

5 months ago

10 Best Software for Video Editing

Video editing is a relatively complex process in which the editor uses various software to insert numerous effects and edit…

6 months ago

MacKeeper Releases Camera and Microphone Protection

Mac OS is a Unix-based operating system, and as such, it's less vulnerable to malware and viruses. But, what if…

7 months ago

10 Best Screenshot Extensions for Google Chrome

Google Chrome is the most popular internet browser of today. As such, Google Chrome has hundreds of extensions that can…

8 months ago