Cara Menggunakan HTTPS di Drupal

Cara Menggunakan HTTPS di Drupal

Pada artikel sebelumnya saya pernah membahas tentang bagaimana Cara Mudah Mengaktifkan HTTPS Domain di cPanel/Hosting  dimana hal tersebut diimplementasikan pada situs drupal 7.

Ternyata setelah diamati, banyak masalah yang baru saya sadari hari ini ketika memeriksa beberapa internal link yang ada didalam situs, bukan karena situs tidak bisa diakses, namun ada beberapa url artikel (link internel diartikel) pindahan dari blogspot yang masih menggunakan mode HTTP. Ini jadi masalah, karena konfigurasi yang saya lakukan sebelumnya ternyata tidak mampu secara otomatis mengarahkan semua link yang ada dalam situs kedalam mode HTTPS. Sehingga akhirnya link – link yang menggunkan mode HTTP selalu di redirect ke halaman index.php dengan mode HTTPS. Ini tentu akan sangat buruk dari segi SEO.

Masalah selanjutnya pada konfigurasi yang saya juga menimbulkan sebuah masalah lain. Misalnya ketika saya sedang berada dalam mode http://www kemudian saya hilangkansecara sengaja mode https://www maka situs justru mengalihkan saya ke index.php. contoh https://www.namadomain.com/artikel.html lalu diakses secara langsung menjadi namadomain.com/artikel.html maka drupal justru mengarahkannya ke index.php

Penyelesaian Masalah

Secara default ternyata di htaccess drupal sudah tersedia pengaktifkan httpsnya dan  memang dalam keadaan aktif, jadi sebenarnya kalau sudah di instal ssl kita tidak perlu melakukan konfigurasi atau tambahan script pada httacces, karena konfigurasi sebenarnya sudah  disediakan atau secara default sudah aktif. Contohnya seperti berikut


# Set "protossl" to "s" if we were accessed via https://.  This is used later
# if you enable "www." stripping or enforcement, in order to ensure that
# you don't bounce between http and https.
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]
Jika ingin redirect dari non www ke www dengan mode https di drupal maka tinggal aktifkan hal berikut ini


# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Hilangkan tanda pagar pada #Rewrite untuk mengaktifakan. Sampai disini kita telah berhasil mengaktifkan https dan juga redirect dari non www ke www. Hanya saja jika misal kondisi https://www.namadomain.com/artikel dirubah menjadi  namadomain.com/artikel secara sengaja pada address bar, maka secara otomatis user akan mengakses domain www.namadomain.com/artikel  tanpa https. Untuk itu gunakan tambahan berikut ini dibawahnya


#Redirect to Https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Jadi dengan cara tersebut meskipun user dengan sengaja atau tidak menghapus url yang menggunakan  https://www.  maka dia akan tetap dialihkan dalam mode https://www.

Sampai disini semua request dengan http:// akan selalu dialihkan kedalam mode https. begitupun ketika user mencoba mengkases domain tanpa menggunakan www, maka akan selalu dilahikan ke dalam mode www dengan https. Jadi semua request akan berada dalam mode https://www.

Sekarang tidak perlu repot – repot ganti internal link yang ada di artikel drupal yang masih menggunakan http karena semuanya sudah otomatis ke https.

Baca juga :  Drupal 9 : Masalah Page Not Found Setelah Website di Hosting

0 Response to "Cara Menggunakan HTTPS di Drupal"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin