Redirect domain dengan .htaccess adalah salah satu cara untuk mengarahkan pengunjung dari sebuah domain, URL, atau halaman tertentu ke alamat lain menggunakan konfigurasi server Apache. Metode ini banyak digunakan untuk mengatur perpindahan domain, mengarahkan HTTP ke HTTPS, menyatukan versi www dan non-www, maupun mengalihkan URL lama ke URL baru.
File .htaccess biasanya ditempatkan pada direktori utama website, seperti public_html. Dengan aturan yang tepat, redirect dapat dilakukan secara otomatis tanpa perlu mengubah kode pada setiap halaman website.
Apa Itu Redirect Domain?
Redirect adalah proses mengarahkan pengunjung dari satu alamat URL ke alamat URL lainnya. Misalnya, ketika pengunjung membuka http://contoh.com, server dapat mengarahkannya secara otomatis ke https://contoh.com.
Redirect juga dapat digunakan ketika sebuah website berpindah domain. Contohnya:
- domainlama.com diarahkan ke domainbaru.com.
- www.contoh.com diarahkan ke contoh.com.
- http://contoh.com diarahkan ke https://contoh.com.
- URL lama diarahkan ke URL baru yang lebih relevan.
Apa Itu File .htaccess?
.htaccess adalah file konfigurasi yang digunakan oleh web server Apache untuk mengatur perilaku direktori tertentu. File ini dapat digunakan untuk berbagai kebutuhan, termasuk redirect, rewrite URL, pengaturan akses, dan konfigurasi tertentu yang didukung oleh server.
Karena perubahan pada .htaccess dapat memengaruhi akses website, sebaiknya lakukan backup file sebelum mengubah konfigurasi.
Jenis Redirect yang Umum Digunakan
Redirect 301
Redirect 301 menunjukkan bahwa sebuah URL telah dipindahkan secara permanen ke alamat baru. Redirect ini umum digunakan ketika domain atau URL lama sudah tidak digunakan dan pengunjung harus diarahkan ke alamat baru.
Contoh:
Redirect 301 / https://domainbaru.com/
Untuk perpindahan permanen, redirect 301 biasanya menjadi pilihan yang tepat karena memberikan sinyal kepada mesin pencari bahwa URL lama telah digantikan oleh URL baru.
Redirect 302
Redirect 302 digunakan untuk pengalihan sementara. Jenis redirect ini dapat digunakan ketika sebuah URL hanya perlu diarahkan ke lokasi lain untuk sementara waktu.
Redirect 302 /halaman-lama https://contoh.com/halaman-baru
Pilih jenis redirect berdasarkan tujuan sebenarnya. Jangan menggunakan 301 untuk pengalihan yang memang hanya bersifat sementara.
Cara Membuat Redirect Domain dengan .htaccess
Berikut langkah umum untuk membuat redirect domain menggunakan file .htaccess pada hosting berbasis Apache.
- Login ke cPanel atau File Manager hosting.
- Buka direktori public_html atau direktori website yang digunakan.
- Cari file .htaccess.
- Jika belum tersedia, buat file baru dengan nama .htaccess.
- Lakukan backup sebelum melakukan perubahan.
- Tambahkan aturan redirect sesuai kebutuhan.
- Simpan perubahan.
- Uji URL lama dan pastikan mengarah ke URL tujuan.
Cara Redirect Domain Lama ke Domain Baru
Jika seluruh website dipindahkan dari domain lama ke domain baru, salah satu contoh konfigurasi yang dapat digunakan adalah:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domainlama\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.domainlama\.com$ [NC]
RewriteRule ^(.*)$ https://domainbaru.com/$1 [R=301,L]
Ganti domainlama.com dan domainbaru.com sesuai domain yang digunakan.
Aturan tersebut mempertahankan path URL. Sebagai contoh, URL:
https://domainlama.com/produk
dapat diarahkan menjadi:
https://domainbaru.com/produk
Pola seperti ini berguna ketika struktur URL pada domain baru masih sama dengan domain lama.
Cara Redirect HTTP ke HTTPS dengan .htaccess
Jika website sudah memiliki SSL/TLS dan ingin memastikan seluruh akses menggunakan HTTPS, redirect HTTP ke HTTPS dapat dilakukan dengan .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Konfigurasi ini mengarahkan permintaan HTTP ke versi HTTPS dengan mempertahankan hostname dan path URL.
Pastikan sertifikat SSL sudah aktif dan website dapat diakses melalui HTTPS sebelum menggunakan redirect ini.
Cara Redirect www ke Non-www
Jika versi utama website menggunakan non-www, misalnya https://contoh.com, domain www dapat diarahkan ke versi tersebut.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.contoh\.com$ [NC]
RewriteRule ^(.*)$ https://contoh.com/$1 [R=301,L]
Dengan konfigurasi tersebut, URL seperti:
https://www.contoh.com/produk
akan diarahkan ke:
https://contoh.com/produk
Cara Redirect Non-www ke www
Jika versi utama website menggunakan www, konfigurasi dapat dibuat sebaliknya:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^contoh\.com$ [NC]
RewriteRule ^(.*)$ https://www.contoh.com/$1 [R=301,L]
Dengan demikian, versi non-www akan diarahkan ke versi www.
Cara Redirect Satu Halaman ke Halaman Lain
.htaccess juga dapat digunakan untuk mengarahkan URL tertentu ke halaman lain.
Contohnya, halaman:
https://contoh.com/produk-lama
diarahkan ke:
https://contoh.com/produk-baru
Gunakan:
Redirect 301 /produk-lama https://contoh.com/produk-baru
Metode ini berguna ketika sebuah halaman telah diganti, URL berubah, atau struktur website diperbarui.
Cara Redirect Seluruh Domain ke URL Tertentu
Dalam kondisi tertentu, seluruh domain dapat diarahkan ke satu alamat tertentu. Contohnya ketika domain lama sudah tidak digunakan sebagai website aktif.
RewriteEngine On
RewriteRule ^(.*)$ https://domainbaru.com/ [R=301,L]
Namun, untuk migrasi website, lebih baik mempertahankan path URL jika struktur halaman di domain baru masih tersedia. Dengan demikian, pengunjung dan mesin pencari dapat diarahkan ke halaman yang paling relevan.
Redirect Domain dengan Mempertahankan Struktur URL
Pada migrasi domain, mempertahankan path URL sering kali lebih baik daripada mengarahkan semua halaman ke homepage.
Contoh konfigurasi:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domainlama\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.domainlama\.com$ [NC]
RewriteRule ^(.*)$ https://domainbaru.com/$1 [R=301,L]
Dengan konfigurasi tersebut:
- / → domainbaru.com/
- /tentang → domainbaru.com/tentang
- /produk → domainbaru.com/produk
- /blog/artikel → domainbaru.com/blog/artikel
Teknik ini sangat berguna ketika melakukan migrasi domain tanpa mengubah struktur URL website.
Perbedaan Redirect 301 dan 302
| Jenis | Kegunaan | Sifat |
|---|---|---|
| 301 | Pindah domain atau URL permanen | Permanen |
| 302 | Pengalihan sementara | Sementara |
Pemilihan kode redirect harus sesuai dengan tujuan pengalihan. Kesalahan memilih status redirect dapat menyebabkan perilaku website dan proses pemrosesan URL oleh mesin pencari tidak sesuai harapan.
Hal yang Perlu Diperhatikan Sebelum Mengubah .htaccess
- Pastikan server menggunakan Apache atau konfigurasi yang kompatibel dengan aturan tersebut.
- Buat backup file .htaccess sebelum melakukan perubahan.
- Periksa kembali sintaks setiap aturan.
- Hindari membuat redirect berantai.
- Pastikan URL tujuan dapat diakses dengan normal.
- Gunakan HTTPS jika SSL/TLS sudah tersedia.
- Uji redirect setelah menyimpan perubahan.
Masalah yang Sering Terjadi pada Redirect .htaccess
Redirect Loop
Redirect loop terjadi ketika server terus mengarahkan URL kembali ke URL yang menyebabkan proses redirect berulang. Akibatnya, browser dapat menampilkan pesan seperti too many redirects.
Periksa aturan redirect yang saling bertentangan, terutama jika terdapat konfigurasi HTTPS pada .htaccess, control panel hosting, CDN, atau reverse proxy.
Internal Server Error 500
Kesalahan sintaks pada .htaccess dapat menyebabkan HTTP 500 Internal Server Error. Jika website langsung mengalami error setelah perubahan, kembalikan konfigurasi terakhir yang dibuat dan periksa sintaksnya.
Redirect Tidak Berfungsi
Jika redirect tidak berjalan, periksa beberapa hal berikut:
- Pastikan file berada di direktori yang benar.
- Pastikan nama file benar-benar .htaccess.
- Pastikan Apache mengizinkan penggunaan konfigurasi .htaccess.
- Periksa apakah ada aturan rewrite lain yang bertentangan.
- Periksa konfigurasi domain dan DNS.
- Hapus cache browser atau uji menggunakan mode private/incognito.
Apakah Redirect .htaccess Berpengaruh terhadap SEO?
Redirect dapat berpengaruh terhadap SEO karena mesin pencari perlu memahami hubungan antara URL lama dan URL baru. Untuk perpindahan URL secara permanen, 301 redirect merupakan metode yang umum digunakan.
Redirect sebaiknya mengarahkan URL lama ke halaman baru yang paling relevan, bukan secara sembarangan mengarahkan seluruh URL ke homepage. Struktur redirect yang rapi membantu menjaga pengalaman pengguna dan mempermudah proses migrasi website.
Setelah migrasi domain, sebaiknya periksa kembali sitemap, canonical, internal link, dan URL yang terindeks untuk memastikan semuanya menggunakan domain baru.
Tips Membuat Redirect dengan .htaccess
- Selalu backup .htaccess sebelum mengedit.
- Gunakan 301 untuk perpindahan permanen.
- Gunakan 302 untuk pengalihan sementara.
- Hindari redirect chain dan redirect loop.
- Gunakan URL tujuan yang relevan.
- Pastikan HTTPS sudah aktif sebelum memaksa redirect ke HTTPS.
- Uji URL lama dan URL tujuan setelah konfigurasi diterapkan.
- Jika melakukan migrasi domain, pertahankan struktur URL apabila memungkinkan.
Kesimpulan
Redirect domain dengan .htaccess merupakan metode praktis untuk mengatur pengalihan URL pada website berbasis Apache. Dengan konfigurasi yang tepat, .htaccess dapat digunakan untuk redirect domain lama ke domain baru, HTTP ke HTTPS, www ke non-www, maupun mengalihkan halaman tertentu.
Untuk perpindahan permanen, gunakan redirect 301 dan arahkan setiap URL ke halaman tujuan yang paling relevan. Sebelum melakukan perubahan, selalu buat backup dan uji konfigurasi agar tidak menyebabkan redirect loop atau error pada website.
FAQ
Apa itu redirect domain dengan .htaccess?
Redirect domain dengan .htaccess adalah metode untuk mengarahkan pengunjung dari satu domain atau URL ke alamat lain menggunakan konfigurasi pada web server Apache.
Apa perbedaan redirect 301 dan 302?
Redirect 301 digunakan untuk pengalihan permanen, sedangkan redirect 302 digunakan untuk pengalihan sementara.
Apakah .htaccess bisa digunakan untuk redirect HTTP ke HTTPS?
Ya. Pada server Apache, .htaccess dapat digunakan untuk mengarahkan permintaan HTTP ke HTTPS selama konfigurasi server mendukungnya dan SSL/TLS sudah aktif.
Apakah redirect 301 bagus untuk migrasi domain?
Redirect 301 umum digunakan untuk migrasi domain permanen karena menunjukkan bahwa URL lama telah dipindahkan secara permanen ke URL baru.
Kenapa website mengalami Too Many Redirects setelah mengedit .htaccess?
Biasanya terjadi karena terdapat aturan redirect yang saling bertentangan sehingga URL terus diarahkan berulang kali. Periksa aturan HTTPS, www/non-www, CDN, reverse proxy, dan konfigurasi hosting.
Apakah redirect .htaccess bisa menyebabkan error 500?
Ya. Kesalahan sintaks atau konfigurasi yang tidak kompatibel pada .htaccess dapat menyebabkan HTTP 500 Internal Server Error.
Apakah redirect bisa digunakan untuk memindahkan halaman lama?
Ya. Redirect 301 dapat digunakan untuk mengarahkan URL lama ke URL baru yang relevan, terutama ketika struktur halaman website berubah.
