Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Dokumen ini sudah usang, versi dasar telah diperbarui pada 3 April 2026.
Buka dokumen bahasa InggrisRiwayat Versi
- "Tambahkan perutean lokal berbasis domain melalui konfigurasi routing.domains."v8.5.02/4/2026
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisJika Anda memiliki ide untuk meningkatkan dokumentasi ini, silakan berkontribusi dengan mengajukan pull request di GitHub.
Tautan GitHub ke dokumentasiSalin Markdown dokumentasi ke clipboard
Domain Kustom
Intlayer mendukung perutean lokal berbasis domain, yang memungkinkan Anda menyajikan lokal tertentu dari nama host khusus. Misalnya, pengunjung dari Tiongkok dapat diarahkan ke intlayer.zh daripada intlayer.org/zh.
Cara Kerjanya
Peta domains di dalam routing mengaitkan setiap lokal dengan nama host. Intlayer menggunakan peta ini di dua tempat:
- Pembuatan URL (
getLocalizedUrl): saat lokal target berada pada domain yang berbeda dari halaman saat ini, URL absolut akan dikembalikan (misalnyahttps://intlayer.zh/about). Saat kedua domain cocok, URL relatif akan dikembalikan (misalnya/fr/about). - Proksi server (Next.js & Vite): permintaan masuk akan dialihkan atau ditulis ulang berdasarkan domain tempat mereka tiba.
Domain eksklusif vs. bersama
Perbedaan utamanya adalah eksklusivitas:
- Domain eksklusif - hanya satu lokal yang memetakan ke nama host tersebut (misalnya
zh → intlayer.zh). Domain itu sendiri bertindak sebagai pengidentifikasi lokal, sehingga tidak ada awalan lokal yang ditambahkan ke jalur.https://intlayer.zh/aboutmenyajikan konten bahasa Mandarin. - Domain bersama - beberapa lokal memetakan ke nama host yang sama (misalnya
endanfrkeduanya memetakan keintlayer.org). Perutean berbasis awalan normal berlaku.intlayer.org/fr/aboutmenyajikan konten bahasa Prancis.
Konfigurasi
Lokal yang tidak tercantum dalam domains terus menggunakan perutean awalan standar tanpa penggantian domain apa pun.
Pembuatan URL
getLocalizedUrl secara otomatis menghasilkan jenis URL yang benar berdasarkan konteks pemanggilan.
Lokal domain yang sama (URL relatif)
Lokal lintas domain (URL absolut)
Menyajikan dari domain lokal itu sendiri
Deteksi otomatis domain saat ini
currentDomain bersifat opsional. Jika dihilangkan, getLocalizedUrl menyelesaikannya dalam urutan ini:
- Nama host dari URL input absolut (misalnya
https://intlayer.org/about→intlayer.org). window.location.hostnamedi lingkungan peramban.- Jika keduanya tidak tersedia (SSR tanpa opsi eksplisit), URL relatif akan dikembalikan untuk lokal domain yang sama dan tidak ada URL absolut yang dihasilkan - ini adalah fallback yang aman.
getMultilingualUrls dengan domain
getMultilingualUrls memanggil getLocalizedUrl untuk setiap lokal, sehingga menghasilkan campuran URL relatif dan absolut tergantung pada domain pemanggil:
URL absolut ini siap digunakan dalam tag <link rel="alternate" hreflang="..."> untuk SEO.
Perilaku Proksi
Next.js
Middleware intlayerProxy menangani perutean domain secara otomatis. Tambahkan ke middleware.ts Anda:
Redirect - permintaan tiba di domain yang salah untuk awalan lokal tertentu:
Rewrite - permintaan tiba di domain eksklusif lokal tanpa awalan:
Vite
Plugin Vite intlayerProxy menerapkan logika yang sama selama pengembangan:
Catatan: dalam pengembangan lokal Anda biasanya menggunakanlocalhost, sehingga pengalihan lintas domain akan mengarah ke domain langsung alih-alih port lokal lainnya. Gunakan penggantian file hosts (misalnya127.0.0.1 intlayer.zh) atau proksi terbalik jika Anda perlu menguji perutean multi-domain secara lokal.
Pemilih Lokal (Locale Switcher)
Hook useLocale dari next-intlayer menangani navigasi sadar domain secara otomatis. Saat pengguna beralih ke lokal di domain yang berbeda, hook melakukan navigasi halaman penuh (window.location.href) alih-alih router push sisi klien, karena router Next.js tidak dapat melintasi asal (origins).
Tidak diperlukan konfigurasi tambahan - useLocale mendeteksi window.location.hostname secara internal dan memutuskan antara router.replace (domain yang sama) dan window.location.href (lintas domain).
SEO: Tautan Alternatif hreflang
Perutean berbasis domain biasanya digunakan bersama dengan hreflang untuk memberi tahu mesin telusur URL mana yang harus diindeks untuk setiap bahasa. Gunakan getMultilingualUrls untuk menghasilkan set lengkap URL alternatif:
Ini menghasilkan:
Utilitas Inti
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Utilitas | Deskripsi |
|---|---|
getLocalizedUrl(url, locale, { currentDomain }) | Mengembalikan URL relatif atau absolut tergantung pada apakah lokal target berada di domain saat ini. |
getMultilingualUrls(url, { currentDomain }) | Mengembalikan peta URL lokal yang diberi kunci lokal, mencampur relatif dan absolut sesuai kebutuhan. |
getPrefix(locale, { domains }) | Mengembalikan awalan kosong untuk lokal domain eksklusif, awalan normal jika sebaliknya. |