Minggu, 13 Agustus 2017

redirect full

CARA REDIRECT HTTP KE HTTPS DAN NON WWW KE WWW ATAU SEBALIKNYA PADA APACHE, NGINX, LITESPEED

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.
redirect http https www
Pada Apache dan Litespeed
  1. 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]
  2. 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]
  3. 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]
  4. 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).
  1. 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;
    }
  2. 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.

Tidak ada komentar:

Posting Komentar