Mekanisme URL Forwarding via .htaccess
URL forwarding melalui file .htaccess adalah metode pengalihan trafik sisi server yang paling efisien untuk server web Apache. Dengan menggunakan modul mod_rewrite, Anda dapat mengarahkan pengunjung dari satu URL ke URL lain secara permanen (301) atau sementara (302) tanpa membebani sisi klien (browser).
Sintaks Dasar Redirect
Untuk melakukan pengalihan, pastikan modul mod_rewrite telah aktif di server Anda. Berikut adalah kode standar untuk berbagai skenario pengalihan:
# Mengaktifkan Rewrite Engine
RewriteEngine On
# Redirect satu halaman spesifik ke URL baru (301 Permanent)
Redirect 301 /halaman-lama.html https://domainanda.com/halaman-baru
# Redirect seluruh domain ke domain lain
RewriteRule ^(.*)$ https://domain-baru.com/$1 [L,R=301]
# Redirect HTTP ke HTTPS (Wajib untuk keamanan)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Tabel Skenario Pengalihan
| Skenario | Kode/Sintaks | Tujuan |
|---|---|---|
| Redirect Permanen | Redirect 301 | SEO (memindahkan link juice) |
| Redirect Sementara | Redirect 302 | Maintenance/Testing |
| Force HTTPS | RewriteCond %{HTTPS} off | Keamanan enkripsi SSL |
| Non-WWW ke WWW | RewriteCond %{HTTP_HOST} !^www\. | Kanonikalisasi domain |
Langkah Implementasi Teknis
- Akses direktori root website Anda melalui FTP atau File Manager di cPanel.
- Cari file bernama
.htaccess. Jika tidak ada, buat file baru dengan nama tersebut (pastikan diawali titik). - Masukkan kode yang sesuai di bagian paling atas file untuk menghindari konflik dengan aturan lain.
- Simpan file dan lakukan pengujian dengan membuka URL lama di browser.
- Jika terjadi error 500, periksa apakah sintaks sudah benar atau apakah modul
mod_rewritebelum diaktifkan oleh penyedia hosting Anda.
Troubleshooting Umum
Kesalahan paling sering terjadi adalah Redirect Loop, di mana URL A mengarah ke B, dan B mengarah kembali ke A. Pastikan aturan pengalihan tidak saling tumpang tindih. Jika Anda menggunakan CMS seperti WordPress, selalu letakkan aturan kustom Anda di atas blok # BEGIN WordPress agar tidak tertimpa oleh pembaruan sistem otomatis.