---
title: "Error Too Many Redirects Setelah Pindah ke HTTPS"
description: "Website tiba-tiba ERR_TOO_MANY_REDIRECTS setelah pasang SSL? Kenali lima penyebab paling umum, cara melacaknya dengan curl, dan perbaikannya."
url: "https://nivelva.com/insight/error-too-many-redirects-pindah-https"
category: "Website \u0026 Domain"
tags: ["too many redirects","https","ssl","cloudflare","wordpress","htaccess"]
author: "Theresia Candiawan"
published: "2026-11-07T14:11:00+07:00"
updated: "2026-11-07T14:11:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Error Too Many Redirects Setelah Pindah ke HTTPS

> **Jawaban singkat:** Error too many redirects terjadi saat dua aturan saling melempar pengunjung, misalnya server mengalihkan ke HTTPS sementara Cloudflare mode Flexible meminta lewat HTTP. Lacak rantai redirect dengan curl, lalu sisakan satu tempat saja yang mengatur pengalihan ke HTTPS.

Error "too many redirects" (di Chrome tampil sebagai ERR_TOO_MANY_REDIRECTS, di Firefox "The page isn't redirecting properly") berarti browser terjebak dalam putaran pengalihan. Halaman A mengirim ke B, B mengirim balik ke A, dan seterusnya sampai browser menyerah. Setelah pindah ke HTTPS, putaran ini hampir selalu terjadi karena ada **dua pihak** yang sama-sama merasa bertugas mengatur protokol.

Taruhannya besar: selama putaran berlangsung, website tidak bisa dibuka sama sekali, termasuk halaman admin. Salah memilih perbaikan, misalnya asal mematikan SSL, bisa menyelesaikan error tapi membuka masalah baru seperti peringatan "Not secure" atau mixed content.

## Kenapa redirect bisa berputar tanpa henti?

Redirect sendiri tidak salah. Mengalihkan `http://` ke `https://` dengan kode 301 adalah praktik standar, seperti dibahas di [cara redirect HTTP ke HTTPS lewat .htaccess](https://nivelva.com/insight/cara-redirect-http-https-lewat-htaccess). Masalahnya muncul saat aturan di satu lapisan bertentangan dengan lapisan lain, atau saat server salah membaca protokol yang sedang dipakai pengunjung.

Lapisan yang biasanya terlibat:

- **CDN atau proxy** seperti Cloudflare.
- **Web server**, lewat `.htaccess` (Apache/LiteSpeed) atau konfigurasi Nginx.
- **Aplikasi**, misalnya pengaturan URL di WordPress atau plugin SSL.
- **Browser**, yang menyimpan redirect 301 dan aturan HSTS di cache.

### Penyebab 1: Cloudflare mode Flexible plus redirect di server

Ini penyebab paling sering. Pada mode SSL **Flexible**, Cloudflare menerima pengunjung lewat HTTPS tapi menghubungi server asal lewat HTTP biasa. Server melihat permintaan HTTP, lalu mengalihkannya ke HTTPS. Cloudflare menerima HTTPS itu, lagi-lagi meneruskannya lewat HTTP, dan putaran dimulai. Dokumentasi resmi Cloudflare menyebut solusinya: hapus redirect HTTPS di server asal, atau ganti mode ke **Full** atau **Full (strict)** yang mewajibkan sertifikat terpasang di server asal.

### Penyebab 2: Redirect ganda di .htaccess dan plugin

Kamu menambahkan aturan HTTPS di `.htaccess`, lalu memasang plugin SSL yang juga mengatur redirect, ditambah fitur "Force HTTPS" di panel hosting. Biasanya ketiganya rukun, tapi kalau salah satu memakai syarat berbeda (misalnya memaksa `www` sementara yang lain memaksa tanpa `www`), terjadilah tarik-menarik.

### Penyebab 3: WordPress di balik proxy tidak tahu sedang HTTPS

Saat SSL diterminasi di proxy atau load balancer, PHP melihat koneksi masuk sebagai HTTP. WordPress yang Site URL-nya sudah `https://` lalu terus mengalihkan, karena menurutnya pengunjung belum memakai HTTPS. Dokumentasi WordPress menyarankan menambahkan pengecekan header `X-Forwarded-Proto` di `wp-config.php`:

```php
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
    $_SERVER['HTTPS'] = 'on';
}
```

Taruh baris ini sebelum baris `require_once ABSPATH . 'wp-settings.php';`. Pakai hanya bila server memang berada di balik proxy tepercaya.

### Penyebab 4: www dan non-www saling mengalihkan

Pengaturan domain di WordPress `https://www.contoh.com`, sementara `.htaccess` memaksa `https://contoh.com`. Masing-masing mengembalikan pengunjung ke versi kesukaannya. Tentukan satu versi kanonis dan samakan di semua tempat.

### Penyebab 5: Cache browser atau HSTS

Kadang server sudah benar, tapi browser masih menyimpan redirect 301 lama. Coba buka di jendela samaran atau browser lain. Bila di sana normal, hapus cache dan cookie untuk domain itu.

## Cara melacak putaran redirect dengan curl

Sebelum mengubah apa pun, lihat rantainya. Dari terminal (atau Terminal di cPanel):

```bash
curl -sIL https://contoh.com/ | grep -iE '^(HTTP|location)'
```

Opsi `-I` hanya mengambil header, `-L` mengikuti redirect. curl berhenti setelah 50 lompatan secara bawaan, jadi kalau kamu melihat pola `location:` yang berulang (misalnya bolak-balik antara `http://` dan `https://`, atau antara `www` dan tanpa `www`), itulah putarannya. Pola itu langsung menunjukkan lapisan mana yang bertengkar.

## Ringkasan penyebab dan perbaikan

| Gejala di rantai redirect | Penyebab paling mungkin | Perbaikan |
|:--|:--|:--|
| https ke https berulang, situs di Cloudflare | Mode Flexible + redirect di server | Pasang SSL di server, ubah mode ke Full (strict) |
| http dan https bergantian | Dua aturan bertentangan | Sisakan satu tempat pengatur HTTPS |
| www dan non-www bergantian | Versi kanonis tidak sama | Samakan Site URL, .htaccess, dan pengaturan CDN |
| Hanya di satu browser | Cache 301 atau HSTS lama | Hapus cache dan cookie domain |
| https ke https dengan path sama, di balik proxy | Aplikasi tidak membaca X-Forwarded-Proto | Tambahkan pengecekan header di wp-config.php |

> **Jangan matikan SSL sebagai solusi:**
>
> Mengembalikan situs ke HTTP memang menghentikan putaran, tapi pengunjung yang sudah menyimpan HSTS tetap tidak bisa masuk, dan link HTTPS dari Google akan rusak. Perbaiki sumber konfliknya, bukan sertifikatnya.

## Kapan memperbaiki di server, kapan di Cloudflare?

Kalau server asal sudah punya sertifikat yang valid (AutoSSL dari cPanel atau Let's Encrypt sudah cukup), pilihan terbaik adalah mode **Full (strict)** di Cloudflare. Koneksi terenkripsi dari ujung ke ujung, dan redirect HTTPS boleh tetap tinggal di server. Ini juga pilihan paling aman untuk situs yang memproses login atau pembayaran.

Kalau server belum bisa dipasangi sertifikat dan kamu terpaksa memakai Flexible untuk sementara, pindahkan semua tugas redirect ke Cloudflare (fitur Always Use HTTPS) dan hapus aturan HTTPS di `.htaccess` maupun plugin. Anggap ini solusi darurat, karena jalur Cloudflare ke server tetap tidak terenkripsi.

Untuk situs tanpa CDN, cukup pastikan hanya ada **satu** pengatur redirect. Aturan di `.htaccess` biasanya paling ringan, jadi plugin SSL atau fitur Force HTTPS di panel bisa dimatikan bagian redirect-nya. Setelah putaran beres, periksa juga sisa [mixed content setelah pasang SSL](https://nivelva.com/insight/mixed-content-pasang-ssl-cara-mengatasinya) agar ikon gembok tampil sempurna.

## Kalau admin WordPress ikut terkunci

Karena wp-admin juga ikut berputar, ubah URL lewat file. Tambahkan sementara di `wp-config.php`:

```php
define( 'WP_HOME', 'https://contoh.com' );
define( 'WP_SITEURL', 'https://contoh.com' );
```

Konstanta ini mengalahkan nilai di database. Setelah bisa masuk lagi dan pengaturan di Settings > General sudah benar, kamu boleh menghapusnya.

## Pertanyaan yang sering diajukan

### Apakah error too many redirects bisa merusak SEO?

Selama putaran terjadi, Googlebot juga gagal membuka halaman, jadi halaman bisa turun atau keluar dari indeks bila dibiarkan berhari-hari. Perbaiki secepatnya, lalu periksa laporan di Search Console.

### Mode SSL Cloudflare mana yang sebaiknya dipakai?

Full (strict) bila server asal punya sertifikat valid. Mode ini mencegah putaran redirect sekaligus mengenkripsi jalur Cloudflare ke server.

### Saya sudah memperbaiki, kenapa di HP masih error?

Kemungkinan cache browser di HP masih menyimpan redirect lama. Coba mode samaran atau hapus data situs untuk domain itu.

### Perlukah plugin SSL kalau sudah ada aturan di .htaccess?

Tidak wajib. Satu pengatur redirect sudah cukup. Plugin boleh dipakai untuk memperbaiki mixed content asalkan fitur redirect-nya tidak bentrok dengan .htaccess.

## Sumber

- <https://developers.cloudflare.com/ssl/troubleshooting/too-many-redirects/>
- <https://developer.wordpress.org/advanced-administration/security/https/>
- <https://developer.wordpress.org/advanced-administration/wordpress/wp-config/>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/error-too-many-redirects-pindah-https
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
