Tutorial

How to Enable SSL (https) in Drupal 7

There are many ways how to do that, but easier and universal I use is this one.

Pridal/a lubo dňa Št, 02/27/2020 - 16:17
Open .htaccess file

Locate your .htaccess file in Drupal 7 root directory. By default the file is hidden so make sure hidden files are set to be visible in your FTP client.

Add Rules at the end of the file

This part is easy, to redirect your Drupal 7 installation to non-WWW SSL enabled website, use the snipplet below.

RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

This code is universal and you do not need to change anything in it.

UPDATE: Sometimes the code above does not work, then you can use this one:

RewriteCond %{HTTPS} !=on
RewriteCond "%{HTTP_HOST}" "^www\." [OR]
RewriteCond "%{HTTP_HOST}" "^YOURWEBSITE.eu" [NC]
RewriteCond "%{SERVER_PORT}" "^80$"
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^(.+)\.YOURWEBSITE\.eu$   [NC]
RewriteRule ^ https://YOURWEBSITE.eu  [L,R]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

There you have to change YOURWEBSITE to your domain. This code never failed me.

Done!

Easy as that. You do not need to change anything in Drupal database. Drupal is clever enough to make things work out of the box.

Might interest you

Tutorial
Yes, IOS / Safari is the new internet explorer. Amount of time I spend on debugging various IOS / Safari related bugs is incredible. It is…
Tutorial
When using Swiftmailer under Drupal 8 / 9 it automatically sets the headers for sender to be Site Name (variable from site information…

Recommended

Tutorial
3 views
This sketch is quite easy, I used Arduino Nano with OLED 0.96″ display 128×64 resolution…
Tutorial
8 views
While working on a fairly complex website with very complex views setup, including tens…
Tutorial
6 views
In this case we have two options, either we use hook_user_presave() or we can create new…
Tutorial
6 views
When using Swiftmailer under Drupal 8 / 9 it automatically sets the headers for sender to…
Tutorial
3 views
Yes, IOS / Safari is the new internet explorer. Amount of time I spend on debugging…
Tutorial
10 views
There is a very handy function in Drupal 8 / 9, allowing developers refresh view when…
Tutorial
4 views
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org…
Tutorial
79 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
5 views
If you are a newbie like I am and struggling with setting the proper MYSQL my.cnf config…
Tutorial
10 views
I had trouble to set this up properly, because documentation is quite misleading or often…
Article
56 views
As the title says, DO NOT in any circumstances install ANY bitcoin price extension to ANY…
Tutorial
173 views
This is (or should be) a working example of sending some Ether between two addresses.…
Module
43 views
This list was fetched from Zapper, with their /v1/token-list endpoint. Which you can…
Tutorial
98 views
In the last months I am being pretty much bombarded by my clients with asking what…
Tutorial
25 views
So sometimes you just need to transliterate some kind of foreign (or local) language, and…