All Products
Search
Document Center

Edge Security Acceleration:Buat aturan penulisan ulang URI

Last Updated:Sep 22, 2026

Ketika sebuah resource di server origin dipindahkan, titik keberadaan (POPs) Dynamic Content Delivery Network (DCDN) menulis ulang URL permintaan yang sudah usang dan mengalihkannya ke jalur baru. Hal ini mengurangi permintaan kembali ke origin serta meningkatkan kinerja akses.

Catatan

Catatan: Saat fitur ini mereferensikan kondisi aturan dari Rules Engine, urutan eksekusi mengikuti prioritas kondisi aturan yang dikonfigurasi di Rules Engine, BUKAN urutan prioritas konfigurasi fitur ini sendiri.

Informasi latar belakang

Kode status HTTP 302 (Found) menunjukkan bahwa resource yang diminta telah dipindahkan sementara. Ketika aturan penulisan ulang URI dikonfigurasi, POPs DCDN menambahkan URI baru ke header Location dalam respons HTTP 302. Klien kemudian mengirim permintaan lanjutan ke URI baru tersebut.

Selain kode status default 302, POPs juga mendukung kode status 303 dan 307. Jika Anda ingin mengubah kode status pengalihan, submit a ticket.

Kode status HTTP

Deskripsi

Metode penanganan

Skenario

302

Found

Permintaan GET tetap tidak berubah. Permintaan yang menggunakan metode lain mungkin diubah menjadi permintaan GET.

Sebuah halaman web sementara tidak dapat diakses karena alasan yang tidak diketahui. Mesin pencari tidak memperbarui URL halaman web tersebut.

303

See Other

Permintaan GET tetap tidak berubah. Permintaan yang menggunakan metode lain diubah menjadi permintaan GET. Body pesan dibuang.

Kode status ini digunakan untuk mengalihkan permintaan PUT dan POST guna mencegah pengalihan berulang akibat refresh halaman.

307

Temporary Redirect

Metode permintaan dan body pesan tetap tidak berubah.

Sebuah halaman web sementara tidak dapat diakses karena alasan yang tidak diketahui. Mesin pencari tidak memperbarui URL halaman web tersebut. Jika website mendukung metode permintaan selain GET, kode status 307 dikembalikan sebagai ganti 302.

Penting

Anda dapat membuat hingga 50 aturan penulisan ulang untuk satu nama domain. Jika Anda mengonfigurasi beberapa aturan penulisan ulang, aturan tersebut diterapkan sesuai urutan menurun sebagaimana tercantum di Konsol DCDN.

Skenario

Jika sebuah resource di server origin dipindahkan ke direktori berbeda, URL yang di-cache pada POPs diperbarui secara sesuai. Ketika klien mengirim permintaan ke URL asli, DCDN menulis ulang dan mengalihkan permintaan tersebut ke URL baru. Misalnya, file gambar dipindahkan dari direktori /download/ ke direktori /image/.

Prosedur

  1. Masuk ke DCDN console.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Pada halaman Domain Names, temukan nama domain target lalu klik Configure.

  4. Di pohon navigasi kiri halaman detail domain, klik Caching.

  5. Klik tab URL Rewrite.

  6. Klik Add dan konfigurasikan aturan penulisan ulang sesuai kebutuhan bisnis Anda.

    Parameter

    Deskripsi

    URI to Be Rewritten

    • Jalur harus diawali dengan garis miring (/) dan tidak mencakup protokol maupun nama domain.

    • Ekspresi reguler Perl Compatible Regular Expressions (PCRE) didukung. Contoh: ^/hello$.

    Target URI

    • Jika Anda mengatur Flag ke Break dalam aturan penulisan ulang, jalur harus diawali dengan garis miring (/) dan tidak mencakup protokol maupun nama domain.

    • Jika Anda mengatur Flag ke Redirect dalam aturan penulisan ulang, jalur dapat mencakup protokol dan nama domain. PCRE didukung. Misalnya, $1 dan $2 digunakan untuk mereferensikan string yang ditangkap dalam tanda kurung pada jalur yang ingin Anda tulis ulang.

    Flag

    Nilai yang valid: Redirect dan Break.

    • Redirect: Jika URI dalam permintaan sesuai dengan suatu aturan, POP mengembalikan kode status 302 dan mengalihkan permintaan ke URI yang ditentukan dalam header Location. Parameter dalam URI asli tidak dimodifikasi. Setelah aturan saat ini dieksekusi, permintaan dicocokkan dengan aturan lainnya.

    • Break: Jika URI dalam permintaan sesuai dengan suatu aturan, POP mengalihkan permintaan ke URI target. Parameter dalam URI asli tidak dimodifikasi. Setelah aturan saat ini dieksekusi, aturan berikutnya dilewati.

  7. Klik OK.

    Setelah fitur penulisan ulang dibuat, Anda dapat Modify atau Delete aturan tersebut di tab URL Rewrite.

Contoh konfigurasi

Contoh 1

Ketika klien meminta http://example.aliyundoc.com/hello, jalur permintaannya adalah /hello. POP menyertakan URL baru http://example.aliyundoc.com/index.html dalam header Location pada respons 302 dan mengembalikan respons tersebut ke klien. Klien kemudian mengirim permintaan ke http://example.aliyundoc.com/index.html.

Untuk aturan ini, Path to Rewrite diatur ke ^/hello$, Destination Path diatur ke /index.html, dan Execution Rule diatur ke redirect.

Catatan

Saat Pengalihan 302, jika header Location tidak mencantumkan protokol dan nama domain, klien secara default menggunakan protokol dan nama domain dari permintaan aslinya.

Contoh 2

Ketika klien meminta http://example.aliyundoc.com/hello, jalur permintaan /hello sesuai dengan ekspresi reguler ^/hello$. POP mengembalikan respons 302 ke klien. Respons tersebut mencakup URL tujuan https://test.aliyundoc.com/index.html dalam header Location. Setelah menerima respons tersebut, klien mengirim permintaan ke https://test.aliyundoc.com/index.html.

Aturan konfigurasi: Atur Path to Rewrite ke ^/hello$, atur Destination Path ke https://test.aliyundoc.com/index.html, dan atur Execution Rule ke redirect.

Contoh 3

Ketika klien meminta http://www.example.com/cdn/url/http://image.example.com/image/cat.jpg, jalur permintaan berisi /cdn/url/http://, yang sesuai dengan ekspresi reguler ^/cdn/url/http://(.*). POP mengembalikan respons 302 ke klien. Respons tersebut mencakup URL tujuan http://image.example.com/image/cat.jpg dalam header Location. Setelah menerima respons tersebut, klien mengirim permintaan ke http://image.example.com/image/cat.jpg.

Untuk aturan konfigurasi, atur Destination Path ke http://$1 dan Execution Rule ke redirect.

Contoh 4

Ketika klien meminta http://example.aliyundoc.com/stories/index.html#/voice/318, bagian #/voice/318 dari URL merupakan identifier fragmen sisi klien. Browser tidak mengirim bagian ini ke server. Jalur permintaan aktual yang diterima POP adalah /stories/index.html. Oleh karena itu, saat mengonfigurasi aturan penulisan ulang, atur Path to Rewrite ke ^/stories/index\.html$ untuk mencocokkan jalur sebelum simbol #. Lalu, atur Destination Path ke URL target dan Execution Rule ke Redirect.

Untuk mengalihkan beberapa URL sumber yang memiliki fragmen # berbeda ke URL tujuan berbeda, Anda harus mengonfigurasi aturan penulisan ulang terpisah untuk setiap jalur sumber. Hal ini karena server tidak dapat membedakan antar-URL berdasarkan konten yang mengikuti simbol #.

Contoh 5

Konfigurasikan homepage subdirektori: Mengembalikan file homepage default subdirektori ketika klien mengakses nama subdirektori merupakan kebutuhan umum untuk website. Anda dapat menggunakan penulisan ulang URL akses untuk menerapkan kemampuan ini di sisi DCDN tanpa memodifikasi server origin Anda. Misalnya, jika file homepage adalah https://www.example.com/cdn/index.html, setelah konfigurasi diterapkan, permintaan klien ke https://www.example.com/cdn atau https://www.example.com/cdn/ akan mengembalikan file homepage tersebut.

Sebelum mengonfigurasi aturan, pastikan file homepage dalam subdirektori di server origin dapat diakses. Misalnya, pastikan https://www.example.com/cdn/index.html dapat dikembalikan sebagaimana mestinya.

Jalur permintaan dari klien bisa saja diakhiri atau tidak diakhiri dengan garis miring (/). Oleh karena itu, Anda harus mengonfigurasi dua aturan berikut untuk mencocokkan kedua kasus tersebut:

  • Aturan 1: Atur Path to Rewrite ke ^/(.+)/$, atur Destination Path ke /$1/index.html, dan atur Execution Rule ke Break.

  • Aturan 2: Atur Path to Rewrite ke ^/([^.?#]+)$, atur Destination Path ke /$1/index.html, dan atur Execution Rule ke Break.

Setelah konfigurasi diterapkan, akses langsung subdirektori, seperti https://www.example.com/cdn. Jika file homepage subdirektori dikembalikan sebagaimana mestinya, konfigurasi berhasil.

API terkait

BatchSetDcdnDomainConfigs