Paksa Pengalihan HTTPS dengan Cepat Setelah Menginstal SSL dengan Mengedit File .htaccess
Sertifikat SSL/TLS bukan lagi pilihan… wajib untuk memasangnya di situs WordPress Anda guna mencegah peringatan “Tidak Aman” yang menakutkan.
Misalkan Anda telah menghosting situs web Anda di web hosting terkelola. Anda mungkin tidak pernah mengalami masalah pengalihan karena situs Anda secara otomatis dimuat di HTTPS setelah SSL dipasang. Dengan kata lain, pengunjung situs dapat melihat situs web Anda dari HTTP ke HTTPS setelah SSL dipasang.
Misalnya: https://www.domainexample.com/
Namun, terkadang, HTTP ke HTTPS tidak dialihkan secara otomatis, mungkin karena penyedia hosting Anda tidak mendukungnya atau karena alasan lain. Namun, jika situs web Anda dihosting di server Apache, Anda dapat mengubah file .htaccess untuk mengalihkan situs web WordPress Anda dari koneksi HTTP yang tidak aman ke koneksi HTTPS yang aman.
Berikut Cara Mengalihkan HTTP ke HTTPS untuk Melayani Situs Anda dengan Aman
Kode di bawah ini memaksa setiap permintaan HTTP ditulis ulang dan diubah ke koneksi HTTPS yang aman. Misalnya, kode di bawah ini akan memaksa http://domainexample.com untuk dimuat dengan aman pada koneksi HTTPS sebagai https://domainexample.com.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
Demikian pula, kode yang disebutkan di atas juga akan memaksa sumber daya yang terhubung langsung seperti CSS, gambar, dll., untuk menggunakan HTTPS. Namun, jika kode di atas tidak berfungsi, maka Anda perlu memverifikasi akhir baris. Misalnya, salin/tempel dari web browser ke editor teks mungkin gagal. Jadi, setelah Anda menyalin dan menempel kode di atas ke editor teks, Anda harus memverifikasi dan menghapus setiap jeda baris.
Memaksa Koneksi HTTPS dengan Mengedit File .htaccess Situs WordPress Anda
Meskipun Anda telah memasang sertifikat SSL/TLS ke situs web WordPress Anda, terkadang pengguna dapat diarahkan ke situs web berbasis HTTP jika Anda belum melakukan pengalihan. Jadi, Anda diharuskan memaksa permintaan HTTP untuk dialihkan ke HTTPS.
Ada dua jenis kode yang dapat Anda gunakan. Misalnya, jika kode pertama tidak berfungsi, Anda dapat menggunakan opsi kedua.
Option 1:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
Contoh Yang Mencakup Kode WordPress Default
Berikut ini adalah kode file .htaccess beserta kode baru yang memaksa koneksi HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Option 2:
Ini adalah pilihan lain. Namun, sebelum melanjutkan, pastikan Anda mengubah exampledomain.com ke nama domain Anda yang sebenarnya.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.exampledomain.com/$1 [R=301,L,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
Contoh Lengkap yang Mencakup Kode WordPress Default
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.exampledomain.com/$1 [R=301,L,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Setelah Anda menyalin dan menempel kode yang disebutkan di atas dari salah satu opsi yang diberikan, situs web Anda akan mulai dialihkan ke HTTPS. Namun, terkadang Anda mungkin mengalami peringatan konten campuran dan mungkin ada berbagai alasan mengapa hal itu terjadi. Jadi, setelah memaksakan koneksi HTTPS, jika Anda mungkin menghadapi kesalahan konten campuran ini alih-alih dialihkan ke HTTPS, kemungkinan besar masalah tersebut akan teratasi dan dialihkan ke HTTPS setelah Anda mengatasi peringatan konten campuran tersebut.
Apa itu File .htaccess?
File .htaccess adalah salah satu jenis file konfigurasi yang digunakan oleh server Apache. File ini mampu mengesampingkan berbagai pengaturan konfigurasi server, dan sering digunakan untuk kontrol cache, pengoptimalan situs web, penulisan ulang URL, dan otorisasi.
Mengedit File .htaccess Melalui cPanel
- Masuk ke akun hosting Anda. Buka cPanel, dan dari bagian “Files”, pilih “File Manager”
- Setelah Anda masuk ke File Manager, pilih dan buka folder public_html tempat file .htaccess berada.
- Setelah Anda memilih file .htaccess, klik kanan padanya dan pilih opsi Edit.
- Anda akan ditanya apakah ingin melanjutkan dengan Pengeditan. Jika ya, sebaiknya lakukan backup yang tepat terlebih dahulu.
- Setelah ditambahkan, lakukan penyimpanan Save di sebelah kanan atas.