Apache HTTP ke HTTPS htaccess redirect pada CWP – Centos WebPanel

Apakah kamu ingin mengalihkan lalu lintas website dari HTTP ke HTTPS? Jika ya, kamu dapat menggunakan file .htaccess untuk melakukan redirect dari HTTP (tanpa enkripsi) ke HTTPS (dengan enkripsi). Pada artikel ini, kami akan memberikan contoh aturan Rewrite yang dapat kamu tambahkan ke file .htaccess pada servermu yang menjalankan Centos WebPanel (CWP) menggunakan Apache sebagai server utama.

Secara umum, ada dua jenis redirect yang bisa kamu gunakan. Pertama, memaksa lalu lintas website dari alamat tanpa www ke dengan www dan menggunakan HTTPS. Dan yang kedua, memaksa lalu lintas website dari alamat tanpa www dan menggunakan HTTPS ke alamat www dan menggunakan HTTPS.

Sebelum kita mulai, pastikan kamu mengerti bagaimana menggunakan file .htaccess dan memiliki izin untuk mengeditnya. Jika kamu belum familiar, kamu dapat mengikuti panduan di bawah ini:

1. Masuk ke panel kontrol CWP dan pilih menu “File Manager”.
2. Cari direktori yang berisi file .htaccess dari website yang ingin kamu ubah.
3. Klik kanan pada file .htaccess dan pilih “Edit”.

Setelah kamu masuk ke file .htaccess website kamu, kamu dapat menambahkan salah satu atau beberapa aturan Rewrite yang tertera di bawah ini.

Aturan Rewrite untuk memaksa lalu lintas dari HTTP ke HTTPS:

  1. Aturan ini akan memaksa lalu lintas website dari alamat tanpa www ke alamat www dan menggunakan HTTPS:
  2. RewriteEngine on
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
    
  3. Aturan ini juga akan memaksa lalu lintas website dari alamat tanpa www ke alamat www dan menggunakan HTTPS:
  4. RewriteEngine on
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\. [NC]
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
    

    Catatan: Kedua aturan di atas akan menghasilkan redirect permanen (301).

    Jika aturan Rewrite di atas tidak berfungsi dan kamu mendapatkan pesan error “Too Many redirects”, maka kamu dapat menggunakan aturan Rewrite di bawah ini.

    Aturan Rewrite untuk pengguna Apache sebagai backend server dibelakang NGINX/VARNISH server:

    1. Aturan ini harus kamu tambahkan ke file .htaccess website kamu:
    2. SetEnvIf X-Forwarded-Proto "https" HTTPS=on
      RewriteEngine on
      RewriteCond %{HTTPS} !=on
      RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      
    3. Atau, kamu dapat menggunakan aturan Rewrite ini:
    4. RewriteCond %{HTTPS} off
      RewriteCond %{HTTP:X-Forwarded-Proto} !https
      RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
      
    5. Atau, kamu dapat menggunakan aturan ini:
    6. RewriteCond %{HTTP:X-Forwarded-Proto} =https
      RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      

    Catatan: Aturan Rewrite di atas akan mengalihkan lalu lintas dari HTTP ke HTTPS. Pastikan kamu mengerti bahwa konfigurasi server NGINX/VARNISH kamu sudah mengalihkan lalu lintas ke Apache.

    Aturan Rewrite untuk memaksa lalu lintas dari alamat tanpa www dan menggunakan HTTPS ke alamat www dan menggunakan HTTPS:

    1. Aturan ini akan memaksa lalu lintas website dari alamat tanpa www dan menggunakan HTTPS ke alamat www dan menggunakan HTTPS:
    2. RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\. [NC]
      RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      RewriteCond %{HTTPS} !=on
      RewriteCond %{HTTP:X-Forwarded-Proto} !https
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      
    3. Atau, kamu dapat menggunakan aturan Rewrite ini:
    4. RewriteEngine On
      RewriteCond %{HTTP_HOST} ^domain\.tld$ [OR]
      RewriteCond %{HTTP_HOST} ^www\.domain\.tld$
      SetEnvIf X-Forwarded-Proto "https" HTTPS=on
      RewriteCond %{HTTPS} !=on
      RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
      RewriteRule ^ https://domain.tld/$1 [L,R=301]
      
    5. Atau, kamu dapat menggunakan aturan Rewrite ini:
    6. RewriteEngine On
      RewriteCond %{HTTP_HOST} ^domain\.tld$ [OR]
      RewriteCond %{HTTP_HOST} ^www\.domain\.tld$
      SetEnvIf X-Forwarded-Proto "https" HTTPS=on
      RewriteCond %{HTTPS} !=on
      RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      

    Catatan: Gantilah “domain\.tld” dengan domain website kamu. Misalnya, “contoh\.com”.

    Setelah kamu menambahkan aturan Rewrite yang sesuai ke dalam file .htaccess, kamu dapat menyimpan dan merefresh website kamu untuk melihat perubahannya. Pastikan kamu menghapus cache browser kamu agar perubahannya terlihat dengan jelas.

    Dengan menggunakan aturan Rewrite di atas, kamu dapat dengan mudah mengalihkan lalu lintas website dari HTTP ke HTTPS di server CWP dengan Apache sebagai server utamanya. Selain itu, kamu juga dapat memilih apakah ingin memaksa lalu lintas dari alamat tanpa www ke alamat www dan menggunakan HTTPS, atau memaksa lalu lintas dari alamat tanpa www dan menggunakan HTTPS ke alamat www dan menggunakan HTTPS.

    BACA JUGA :  Cara Menambahkan Game Microsoft Store ke Steam Di Windows 10

Leave a Reply

Your email address will not be published. Required fields are marked *