Jika jalur penyimpanan resource pada server origin Anda berubah tetapi URL permintaan tetap sama, Anda dapat mengonfigurasi aturan pengalihan pada titik keberadaan (POPs) Edge Security Acceleration (ESA). Aturan ini mencocokkan jalur origin dan mengalihkan URL permintaan ke URL tujuan, sehingga mengurangi jumlah permintaan ke origin dan meningkatkan kinerja akses klien.
Cara kerja
Alur kerja aturan pengalihan adalah sebagai berikut:
Setelah Anda mengonfigurasi aturan pengalihan pada POP ESA, klien mengirim permintaan untuk mengakses sebuah resource.
POP ESA mengembalikan kode status pengalihan, seperti 301 atau 302, ke klien. Header HTTP menyertakan URL tujuan.
Setelah menerima respons, klien mengirim permintaan baru ke URL dalam header Location dari POP ESA untuk mengakses resource tersebut.
ESA-kode status pengalihan yang didukung dan skenario umum
Status code | Makna | Metode pemrosesan | Skenario umum |
301 | Moved Permanently | Metode GET tidak berubah. Metode lain mungkin berubah menjadi GET. | Resource yang diminta telah dipindahkan secara permanen ke URL baru yang ditentukan dalam header Location. Mesin pencari memperbarui tautan tersebut. |
302 | Found | Metode GET tidak berubah. Metode lain mungkin berubah menjadi GET. | Halaman sementara tidak tersedia. Mesin pencari tidak memperbarui tautan tersebut. |
303 | See Other | Metode GET tidak berubah. Metode lain dipaksa berubah menjadi GET. Badan permintaan hilang. | Digunakan untuk lompatan halaman setelah permintaan PUT atau POST selesai guna mencegah operasi berulang akibat penyegaran halaman. |
307 | Temporary Redirect | Metode dan badan permintaan tidak berubah. | Halaman sementara tidak tersedia. Jika situs mendukung tautan atau operasi yang menggunakan metode selain GET, kode status ini lebih baik daripada 302. |
308 | Permanent Redirect | Metode dan badan permintaan tidak berubah. | Memigrasi resource secara permanen. Memaksa client mempertahankan metode permintaan dan badan permintaan asli. Berguna untuk skenario yang memerlukan konsistensi semantik, seperti refaktoring website atau migrasi API. |
Prosedur
Setelah menambahkan aturan pengalihan, ketika pengguna mengirim permintaan akses resource, ESA mencocokkan dan mengeksekusi aturan sesuai prioritas dan mengembalikan hasilnya.
Di Konsol ESA, pilih Site Management. Di kolom Website, klik situs target.
Di panel navigasi sebelah kiri, pilih .
Klik Create Rule dan masukkan Rule Name.
Di bagian If requests match..., atur fitur permintaan yang akan dicocokkan. Untuk informasi selengkapnya, lihat Komponen ekspresi aturan.
Di bagian Single Redirect, atur Type ke Static, masukkan URL, dan pilih Status Code.

Parameter
Type
Deskripsi
Type
Static
Untuk mengalihkan ke URL tetap, pilih Static dan atur URL tujuan ke string tetap. Misalnya, masukkan
https://test.example.com/image/1.jpg?test=123untuk URL.Dynamic
Untuk memodifikasi URL asli secara dinamis, pilih Dynamic dan atur URL tujuan ke suatu expression. Misalnya, masukkan
concat("https://www.example.com", http.request.uri.path)untuk Expression. Ini mengganti hostname dalam URL permintaan dengan nama domain baru tetapi mempertahankan path URL.Status Code
Kode status respons untuk pengalihan. Nilai yang valid adalah 301 (default), 302, 303, 307, dan 308. Untuk informasi selengkapnya, lihat Kode status pengalihan yang didukung ESA dan skenario umum.
Preserve query string
Menentukan apakah parameter kueri dari permintaan asli dibawa ke URL tujuan. Fitur ini dinonaktifkan secara default, artinya parameter kueri dari permintaan asli tidak dibawa setelah pengalihan.
Jika Anda mengaktifkan Preserve query string:
Jika URL permintaan berisi string kueri, maka string tersebut akan menimpa string kueri dalam URL pengalihan.
Jika URL permintaan tidak berisi string kueri, maka string kueri dalam URL pengalihan yang digunakan.
Untuk contoh konfigurasi, lihat Contoh konfigurasi.
Klik OK.
Contoh konfigurasi
Contoh dengan tipe operasi static
Skenario 1
Permintaan berisi string kueri: Tidak
URL pengalihan berisi string kueri: Ya
Pengaturan Preserve query string: Diaktifkan/Dinonaktifkan
Contoh URL permintaan:
http://test.example.com/1.jpgContoh URL pengalihan yang dikonfigurasi:
http://test.example.com/image/1.jpg?test=123Contoh Location pengalihan aktual:
http://test.example.com/image/1.jpg?test=123Catatan: Jika permintaan asli tidak memiliki parameter kueri, Location akhir selalu mempertahankan string kueri dari URL yang dikonfigurasi, terlepas dari apakah pengaturan preserve diaktifkan atau tidak.
Skenario 2
Permintaan berisi string kueri: Ya
URL pengalihan berisi string kueri: Ya
Pengaturan Preserve query string: Diaktifkan
Contoh URL permintaan:
http://test.example.com/1.jpg?test=321Contoh URL pengalihan yang dikonfigurasi:
http://test.example.com/image/1.jpg?test=123Contoh Location pengalihan aktual:
http://test.example.com/image/1.jpg?test=321Catatan: Saat pengaturan preserve diaktifkan, hanya string kueri dari permintaan asli yang dipertahankan. String kueri dari URL yang dikonfigurasi diabaikan.
Skenario 3
Permintaan berisi string kueri: Ya
URL pengalihan berisi string kueri: Ya
Pengaturan Preserve query string: Dinonaktifkan
Contoh URL permintaan:
http://test.example.com/1.jpg?test=321Contoh URL pengalihan yang dikonfigurasi:
http://test.example.com/image/1.jpg?test=123Contoh Location pengalihan aktual:
http://test.example.com/image/1.jpg?test=123Catatan: Saat pengaturan preserve dinonaktifkan, hanya string kueri dari URL yang dikonfigurasi yang dipertahankan. String kueri dari permintaan asli diabaikan.
Skenario 4
Permintaan berisi string kueri: Ya
URL pengalihan berisi string kueri: Tidak
Pengaturan Preserve query string: Diaktifkan
Contoh URL permintaan:
http://test.example.com/1.jpg?test=321Contoh URL pengalihan yang dikonfigurasi:
http://test.example.com/image/1.jpgContoh Location pengalihan aktual:
http://test.example.com/image/1.jpg?test=321Catatan: Saat pengaturan preserve diaktifkan, string kueri dari permintaan asli secara otomatis ditambahkan ke URL yang dikonfigurasi, meskipun URL tersebut tidak memiliki parameter kueri.
Skenario 5
Permintaan berisi string kueri: Ya
URL pengalihan berisi string kueri: Tidak
Pengaturan Preserve query string: Dinonaktifkan
Contoh URL permintaan:
http://test.example.com/1.jpg?test=321Contoh URL pengalihan yang dikonfigurasi:
http://test.example.com/image/1.jpgContoh Location pengalihan aktual:
http://test.example.com/image/1.jpgCatatan: Saat pengaturan preserve dinonaktifkan, string kueri dari permintaan asli dibuang. Hanya URL yang dikonfigurasi yang dikembalikan.
Contoh dengan tipe operasi dynamic
Skenario 1
Pengaturan Preserve query string: Dinonaktifkan
Contoh URL permintaan:
https://test.example.com/image/1.jpg?test=123Ekspresi fungsi:
concat("https://www.example.com", http.request.uri.path)Contoh Location pengalihan aktual:
https://www.example.com/image/1.jpgCatatan:
Saat pengaturan dinonaktifkan, hanya bagian path (
/image/1.jpg) yang dipertahankan. String kueri dari permintaan asli (?test=123) diabaikan.Ekspresi fungsi hanya menggabungkan nama domain dan path. Ekspresi tersebut tidak memproses parameter kueri.
Skenario 2
Pengaturan Preserve query string: Diaktifkan
Contoh URL permintaan:
https://test.example.com/image/1.jpg?test=123Ekspresi fungsi:
concat("https://www.example.com", http.request.uri.path)Contoh Location pengalihan aktual:
https://www.example.com/image/1.jpg?test=123Catatan:
Saat pengaturan diaktifkan, string kueri dari permintaan asli secara otomatis ditambahkan ke URL yang dihasilkan, meskipun ekspresi fungsi tidak secara eksplisit menangani parameter kueri.
Ekspresi fungsi hanya menangani penggabungan path. Sistem secara otomatis menambahkan string kueri berdasarkan pengaturan tersebut.
Skenario 3
Pengaturan Preserve query string: Diaktifkan
Contoh URL permintaan:
https://www.example.com/image-flower-20250816-1.html?src=cdnEkspresi fungsi:
wildcard_replace(http.request.full_uri, "https://www.example.com/image-*", "https://www.example.com/${1}")Contoh Location pengalihan aktual:
https://www.example.com/flower-20250816-1.html?src=cdnCatatan:
Saat pengaturan diaktifkan, sistem secara otomatis menambahkan string kueri dari permintaan asli, seperti
?src=cdn, ke akhir URL tujuan yang dihasilkan oleh ekspresi fungsi.Ekspresi fungsi hanya perlu menangani penulisan ulang dan penggabungan path. Ekspresi tersebut tidak perlu secara eksplisit memproses parameter kueri. Sistem secara otomatis meneruskan string kueri berdasarkan pengaturan tersebut.
Skenario 4
Pengaturan Preserve query string: Dinonaktifkan
Contoh URL permintaan:
https://www.example.com/index.html?place=garden&date=20250816Ekspresi fungsi:
wildcard_replace(http.request.full_uri, "https://www.example.com/index.html?place=garden&date=*", "https://www.example.com/flower-${1}-1.html")Contoh Location pengalihan aktual:
https://www.example.com/flower-20250816-1.htmlCatatan:
Saat pengaturan dinonaktifkan, sistem tidak secara otomatis mempertahankan string kueri dari permintaan asli. URL tujuan dihasilkan sepenuhnya oleh ekspresi fungsi. Parameter asli, seperti
place=garden, hanya digunakan untuk pencocokan aturan. Karakter*mencocokkan nilai setelahdate, yang kemudian digunakan sebagai${1}dalam penulisan ulang.URL pengalihan akhir tidak menyertakan parameter kueri asli, yang sesuai dengan logika pengalihan statis yang diharapkan.
Ketersediaan
Fitur | Entrance | Pro | Premium | Enterprise |
Jumlah aturan | 10 | 25 | 50 item | 125 item |
Referensi
Fitur terkait aturan memiliki perbedaan dalam execution priority, rule behavior, dan configuration scope. Untuk informasi selengkapnya, lihat Cara aturan ESA diterapkan.