Ketika anda sudah install SSL seperti tutorial tersebut, jika website anda wordpress anda bisa mengikuti tutorial cara setting SSL untuk langkah selanjutnya. Namun jika website anda adalah static html dan sejenisnya, anda bisa mengikuti tutorial ini untuk redirect http ke https atau non www ke www ataupun juga sebaliknya. Tutorial ini berlaku untuk nginx, apache dan juga litespeed dan semua tutorial yang disini tidak asal comot dari google namun sudah dalam percobaan dan pernah saya pakai bertahun-tahun termasuk pada apache, nginx maupun litespeed.
Pada Apache dan Litespeed
- Cara redirect http ke https pada apache dan litespeed, tambahkan rule berikut pada .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- Cara redirect non www ke www pada apache dan litespeed, tambahkan rule berikut pada .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
- Cara redirect https ke http pada apache dan litespeed, tambahkan rule berikut pada .htaccess
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- Cara redirect www ke non www pada apache dan litespeed, tambahkan rule berikut pada .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Pada tutorial diatas memakai redirect 301 atau permanen, ketika anda baru mencoba anda bisa mengubah ke 302 atau temporary, namun jika sudah benar setting anda, silahkan ubah ke permanent
Pada Nginx web server
Pada praktek saya ini saya mempunyai dua nginx config (seperti config nginx pada umumnya) yang mana config untuk http (port 80) dan https (SSL port 443), namun kadang ada yang menjadikan dua config tersebut menjadi satu file config (digabung).
- Cara redirect http ke https dan non www ke www pada nginx, silahkan tambahkan rule berikut pada config http and port 80:
server {
server_name domain.com www.domain.com;
return 301 https://www.$server_name$request_uri;rule diatas meredirect dari non http dan non www langsung ke https://www ,mayoritas jika anda mencari tutorial di google hanya tutorial ini yang diberikan yang mana rule ini belum berlaku jika anda mengakses website and dengan https://domain.com tidak redirect ke www. Solusinya agar ketika diakses dengan https:// saja ikut redirect ke https://www maka tambahkan rule berikut pada config nginx SSL (port 443)if ($host = $server_name) {
return 301 https://www.$server_name$request_uri;
} - Cara redirect https ke http dan www ke non www pada nginx, silahkan tambahkan rule berikut pada config http and port 443 (ssl):
server {
server_name domain.com www.domain.com;
return 301 http://$server_name$request_uri;Kemudian tambahkan rule berikut pada non SSL port 80
if ($host = $server_name) {
return 301 http://$server_name$request_uri;
}
Demikian tutorial diatas jika anda mengalami kesulitan silahkan comment dan akan saya bantu, terutamamungkin untuk setting pada nginx yang untuk orang awam mungkin sedikit bingung karena ruenya bergabung dengan rule-rule yang lain dalam config.
apakah tidak akan mengganggu penelusuran search engine ?
tidak mempengaruhi, malahan harus ke salah satu antara www atau tanpa www