Definisi dan Fungsi Flag [QSA]
Flag [QSA] atau Query String Append adalah instruksi pada modul mod_rewrite Apache yang berfungsi untuk menggabungkan query string dari URL asli (permintaan masuk) ke URL tujuan (hasil penulisan ulang). Tanpa flag ini, jika Anda melakukan penulisan ulang URL yang menyertakan parameter baru, Apache akan membuang parameter asli dari URL pengunjung.
Sintaks Dasar
RewriteRule ^halaman-lama$ /halaman-baru.php?id=123 [QSA,L]
Dalam contoh di atas, jika pengguna mengakses domain.com/halaman-lama?ref=google, maka server akan mengarahkannya ke domain.com/halaman-baru.php?id=123&ref=google. Tanpa [QSA], parameter ref=google akan hilang.
Tabel Perbandingan Perilaku [QSA]
| Skenario | Tanpa [QSA] | Dengan [QSA] |
|---|---|---|
| URL Masuk | /produk?id=1 | /produk?id=1 |
| RewriteRule | RewriteRule ^produk /item [L] | RewriteRule ^produk /item [QSA,L] |
| Hasil Akhir | /item | /item?id=1 |
Kapan Harus Menggunakan [QSA]?
- Migrasi URL: Saat mengubah struktur URL namun tetap ingin mempertahankan parameter pelacakan (seperti UTM atau ID sesi).
- SEO: Memastikan parameter filter atau pencarian tetap terbawa saat URL di-rewrite ke format yang lebih ramah mesin pencari.
- Integrasi Aplikasi: Saat aplikasi backend bergantung pada parameter dinamis yang dikirim melalui URL.
Tips Troubleshooting
- Konflik Parameter: Jika URL tujuan sudah memiliki parameter dengan nama yang sama dengan URL asli, [QSA] akan menambahkan parameter tersebut di akhir. Pastikan logika aplikasi Anda dapat menangani duplikasi kunci.
- Flag [L]: Selalu gunakan flag [L] (Last) bersama [QSA] untuk menghentikan pemrosesan aturan rewrite lebih lanjut jika aturan tersebut sudah terpenuhi.
- Debug: Gunakan
RewriteLog(pada level debug) untuk melihat bagaimana Apache memproses penggabungan string jika hasil tidak sesuai ekspektasi.
🔍 Orang Lain Juga Mencari Ini
Apache Mod_rewrite Tutorial
Rewrite Rule Query String Append
Apache Rewrite Flag QSA
Htaccess Rewrite Query String
Mod_rewrite Query String Handling
Apache Rewrite Rule Examples
Seo Friendly Url Htaccess
Htaccess Redirect With Parameters
Apache Rewrite Rule Flags Explained
Passing Query String In Rewrite Rule
Htaccess QSA Vs QSD
Apache Rewrite Rule Best Practices
Mod_rewrite Debug Rewrite Log
Url Rewriting With Query String
Htaccess Parameter Preservation