Mekanisme Append Query String
Untuk menambahkan atau mempertahankan query string pada URL menggunakan Apache mod_rewrite, Anda wajib menggunakan flag [QSA] (Query String Append). Tanpa flag ini, parameter query string yang ada pada URL asli akan terhapus dan digantikan oleh query string baru yang Anda definisikan dalam RewriteRule.
Sintaks Dasar
Flag [QSA] menginstruksikan server untuk menggabungkan query string dari URL yang diminta dengan query string yang didefinisikan dalam target penulisan ulang (rewrite target).
RewriteEngine On
RewriteRule ^produk/(.*)$ /toko.php?id=$1 [QSA,L]Dalam contoh di atas, jika pengguna mengakses /produk/baju?warna=merah, maka server akan memprosesnya menjadi /toko.php?id=baju&warna=merah.
Tabel Perbandingan Flag Query String
| Flag | Fungsi | Dampak pada Query String |
|---|---|---|
| [QSA] | Query String Append | Menggabungkan parameter lama dan baru. |
| [QSD] | Query String Discard | Membuang semua query string asli. |
| [QSA,QSD] | Kombinasi | Tidak disarankan (QSD akan membatalkan QSA). |
Langkah Implementasi
- Pastikan modul
mod_rewriteaktif di server Apache Anda. - Buka file
.htaccessdi direktori root atau folder target. - Tambahkan baris
RewriteEngine Onjika belum ada. - Tulis aturan
RewriteRuledengan menyertakan flag[QSA]di dalam kurung siku. - Simpan file dan lakukan pengujian menggunakan
curl -Iatau browser untuk memastikan parameter diteruskan dengan benar.
Troubleshooting Umum
- Parameter Ganda: Jika Anda menambahkan parameter manual yang sama dengan yang dikirim pengguna, Apache akan menghasilkan duplikasi (misal:
?id=1&id=2). GunakanRewriteConduntuk memvalidasi input jika diperlukan. - Encoding: Pastikan karakter khusus dalam query string sudah di-encode dengan benar agar tidak merusak struktur URL.
- Urutan Aturan: Aturan yang lebih spesifik harus diletakkan di atas aturan yang lebih umum untuk menghindari konflik pemrosesan.
🔍 Orang Lain Juga Mencari Ini
Apache Mod_rewrite Tutorial
Htaccess Query String Append
Rewrite Rule Qsa Flag
Apache Rewrite Rule Examples
Passing Query Parameters Htaccess
Mod_rewrite Query String Handling
Htaccess Redirect With Query String
Apache Rewrite Rule Syntax
Seo Friendly Urls Apache
Htaccess Rewritecond Query String
Apache Server Configuration
Url Rewriting Best Practices
Debug Apache Rewrite Rules
Htaccess Qsa Vs Qsd
Dynamic Url To Static Url Apache