Pengaturan redirect Nginx dilakukan melalui berkas konfigurasi blok server menggunakan arahan return atau rewrite. Metode ini krusial untuk mengarahkan trafik dari HTTP ke HTTPS, memindahkan domain lama ke domain baru, atau mengalihkan tautan usang agar tidak menghasilkan eror 404 bagi pengunjung situs.
Metode Utama Redirect Nginx
Terdapat beberapa skenario umum dalam melakukan pengalihan tautan pada server web Nginx. Berikut adalah tabel perbandingan metode yang sering digunakan oleh pengelola server:
| Jenis Redirect | Kode Status HTTP | Kasus Penggunaan |
|---|---|---|
| Permanent Redirect | 301 Moved Permanently | Pindah domain permanen atau migrasi HTTP ke HTTPS. |
| Temporary Redirect | 302 Found | Pemeliharaan situs sementara atau uji halaman baru. |
| URL Rewriting | Sesuai kebutuhan | Mengubah struktur URL secara dinamis menggunakan pola regex. |
1. Cara Redirect HTTP ke HTTPS
Langkah paling umum adalah memaksa seluruh pengunjung yang mengakses alamat HTTP untuk beralih ke jalur aman HTTPS secara permanen. Tambahkan blok server berikut ke dalam berkas konfigurasi Nginx Anda:
server {
listen 80;
server_name contoh.com www.contoh.com;
return 301 https://$host$request_uri;
}
2. Cara Redirect Domain Lama ke Domain Baru
Jika Anda melakukan migrasi situs web ke domain baru, Anda perlu mengarahkan seluruh trafik dari domain lama agar peringkat SEO tetap terjaga. Gunakan konfigurasi di bawah ini pada blok server domain lama:
server {
listen 80;
listen 443 ssl;
server_name domainlama.com www.domainlama.com;
# Konfigurasi SSL domain lama
ssl_certificate /etc/letsencrypt/live/domainlama.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domainlama.com/privkey.pem;
return 301 https://domainbaru.com$request_uri;
}
3. Cara Redirect Halaman Tertentu
Untuk mengalihkan satu halaman spesifik ke halaman lain di dalam situs yang sama, Anda dapat memanfaatkan blok location:
server {
listen 80;
server_name contoh.com;
location /halaman-lama {
return 301 /halaman-baru;
}
}
Langkah Penerapan dan Pengujian Konfigurasi
Setelah mengubah berkas konfigurasi Nginx (biasanya terletak di direktori /etc/nginx/sites-available/ atau /etc/nginx/nginx.conf), lakukan langkah verifikasi berikut:
- Uji sintaks konfigurasi untuk memastikan tidak ada kesalahan pengetikan:
sudo nginx -t - Muat ulang layanan Nginx agar perubahan diterapkan:
sudo systemctl reload nginx - Uji status redirect menggunakan utilitas curl:
curl -I http://contoh.com