Pada artikel sebelumnya saya pernah membahas wacana bagaimana Cara Praktis Mengaktifkan HTTPS Domain di cPanel/Hosting dimana hal tersebut diimplementasikan pada situs drupal 7.
Ternyata sesudah diamati, banyak problem yang gres saya sadari hari ini dikala menilik beberapa internal link yang ada didalam situs, bukan alasannya yaitu situs tidak bisa diakses, namun ada beberapa url artikel (link internel diartikel) pindahan dari blogspot yang masih memakai mode HTTP. Ini jadi masalah, alasannya yaitu konfigurasi yang saya lakukan sebelumnya ternyata tidak bisa secara otomatis mengarahkan semua link yang ada dalam situs kedalam mode HTTPS. Sehingga hasilnya link link yang menggunkan mode HTTP selalu di redirect ke halaman index.php dengan mode HTTPS. Ini tentu akan sangat jelek dari segi SEO.
Masalah selanjutnya pada konfigurasi yang saya juga menjadikan sebuah problem lain. Misalnya dikala saya sedang berada dalam mode http://www kemudian saya hilangkansecara sengaja mode https://www maka situs justru mengalihkan saya ke index.php. pola https://www.namadomain.com/artikel.html kemudian diakses secara eksklusif 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 bahu-membahu kalau sudah di instal ssl kita tidak perlu melaksanakan konfigurasi atau pelengkap script pada httacces, alasannya yaitu konfigurasi bahu-membahu sudah disediakan atau secara default sudah aktif. Contohnya ibarat 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 pelengkap berikut ini dibawahnya #Redirect to Https RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Makara dengan cara tersebut meskipun user dengan sengaja atau tidak menghapus url yang menggunakan https://www. maka ia akan tetap dialihkan dalam mode https://www.Sampai disini semua request dengan http:// akan selalu dialihkan kedalam mode https. begitupun dikala user mencoba mengkases domain tanpa memakai www, maka akan selalu dilahikan ke dalam mode www dengan https. Makara semua request akan berada dalam mode https://www.
Sekarang tidak perlu repot repot ganti internal link yang ada di artikel drupal yang masih memakai http alasannya yaitu semuanya sudah otomatis ke https. Alhamdulillah…