全部产品
Search
文档中心

CDN:Penulisan Ulang URL Asal

更新时间:Jul 02, 2025

Alibaba Cloud CDN memungkinkan Anda untuk menulis ulang URL asal. Fitur ini berfungsi pada titik kehadiran (POPs) tanpa memengaruhi layanan internal Alibaba Cloud CDN atau kunci cache.

Cara Kerjanya

POPs mencocokkan URL asal dengan URL sumber daya yang diminta di server asal berdasarkan aturan penulisan ulang URL. Kemudian, permintaan dengan parameter tertentu dialihkan ke server asal.

  • Dalam aturan penulisan ulang, jika Anda mengatur parameter Flag ke None atau Break, hanya jalur sumber daya di URL yang ditulis ulang.1

  • Jika Anda mengatur parameter Flag ke enhance break, jalur sumber daya dan string query akan ditulis ulang.2

Catatan

  • Anda dapat mengonfigurasi hingga 50 aturan Origin URL Rewrite untuk setiap nama domain.

  • Sistem menjalankan aturan penulisan ulang yang tercantum di tab Penulisan Ulang URL Asal secara berurutan dari atas ke bawah. Perubahan pada urutan ini dapat menghasilkan hasil penulisan ulang yang berbeda.

  • Origin URL Rewrite mungkin bertentangan dengan pengaturan fitur Ignore Parameters di Domain Names>Optimization. Pastikan fitur-fitur tersebut tidak saling bertentangan.

Perbedaan antara penulisan ulang URL akses dan penulisan ulang URL asal

Fitur

Deskripsi

Hasil

Skenario

Rewrite access URLs

URL yang diakses oleh klien ditulis ulang, dan URL asal juga berubah.

  • Pengalihan: Klien menggunakan URL yang dialihkan untuk mengirim permintaan.

  • Break: Klien melihat URL yang sama seperti yang mereka akses, dan tetap tidak berubah.

Fitur ini biasanya digunakan untuk memetakan URL nama domain lama ke nama domain baru atau memberikan URL berbeda untuk perangkat seluler dan PC.

Contoh: Ketika klien mengakses old.example.com/hello, URL akses ditulis ulang menjadi new.example.com/hello.

Rewrite origin URLs

URL asal ditulis ulang, dan URL akses tetap tidak berubah.

Klien melihat URL yang sama seperti yang mereka akses, dan tetap tidak berubah.

Fitur ini biasanya digunakan untuk menyembunyikan URL sebenarnya dari server asal untuk melindungi informasi tentang server asal. Anda juga dapat menggunakan fitur ini untuk memetakan URL agar POP dapat mengambil konten dari direktori asal yang berbeda.

Contoh: Ketika klien mengakses cdn.example.com/hello, URL asal ditulis ulang menjadi origin.example.com/source/hello.

Menulis Ulang URL Akses

  1. Klien memulai permintaan ke POP. URL permintaan adalah old.example.com/hello.

  2. Setelah POP menerima permintaan, POP menambahkan URL baru ke header Lokasi HTTP dalam respons yang dikembalikan bersama dengan kode status HTTP 302, dan menulis ulang URL permintaan menjadi new.example.com/hello berdasarkan aturan penulisan ulang URL akses.

  3. Setelah klien menerima respons dan kode status HTTP 302, klien memulai permintaan ke URL baru.

  4. POP memeriksa cache. Jika konten yang sesuai dengan URL yang ditulis ulang ada di cache, POP mengembalikan konten ke klien. Jika tidak, POP memulai permintaan ke server asal. URL permintaan adalah new.example.com/hello, yang telah ditulis ulang.

  5. Server asal menerima permintaan dan mengembalikan konten yang diminta ke POP.

  6. POP menyimpan konten yang diminta dalam cache dan mengembalikan konten yang diminta ke klien.

Menulis Ulang URL Asal

  1. Klien memulai permintaan ke POP. URL permintaan adalah cdn.example.com/files/hello.txt.

  2. Setelah POP menerima permintaan, POP memeriksa cache. Jika konten yang sesuai dengan URL permintaan ada di cache, POP mengembalikan konten ke klien. Jika tidak, POP menulis ulang URL asal menjadi origin.example.com/secret/files/hello.txt berdasarkan aturan penulisan ulang URL asal dan memulai permintaan ke server asal.

  3. Server asal menerima permintaan dan mengembalikan konten yang diminta ke POP.

  4. POP menyimpan konten yang diminta dalam cache dan mengembalikan konten yang diminta ke klien.

Buat Aturan Penulisan Ulang URL Asal

  1. Masuk ke Alibaba Cloud CDN console.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Di halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.

  4. Di pohon navigasi kiri nama domain, klik Origin Fetch.

  5. Klik tab Origin URL Rewrite.

  6. Klik Add.

  7. Konfigurasikan parameter Path to Be Rewritten, Target Path, dan Flag. Tabel berikut menjelaskan parameter tersebut.

    改写回源URI

    Parameter

    Contoh

    Deskripsi

    Path to Be Rewritten

    ^/hello$

    Masukkan URL yang dimulai dengan garis miring (/). URL tersebut tidak boleh berisi http:// atau nama domain. Anda harus menggunakan Perl Compatible Regular Expressions (PCRE).

    Target Path

    /hello/test

    Masukkan URL yang dimulai dengan garis miring (/). URL tersebut tidak boleh berisi http:// atau nama domain. PCRE didukung.

    Flag

    Tidak ada

    Jika Anda mengonfigurasi beberapa aturan penulisan ulang URL, Alibaba Cloud CDN akan mencocokkan permintaan terhadap aturan secara berurutan dari atas ke bawah.

    break

    • Jika Anda mengonfigurasi beberapa aturan penulisan ulang URL, dan aturan saat ini cocok, aturan lainnya dilewati.

    • Opsi ini hanya menulis ulang jalur sumber daya di URL. Parameter URL tetap tidak berubah. Anda dapat menggunakan fitur penulisan ulang parameter untuk menulis ulang parameter URL.Origin URL Rewrite

    enhance break

    • Jika Anda mengonfigurasi beberapa aturan penulisan ulang URL, dan aturan saat ini cocok, aturan lainnya dilewati.

    • Dibandingkan dengan break, enhance break juga menulis ulang parameter URL. Namun, pengaturan penulisan ulang parameter mungkin bertentangan dengan pengaturan Parameter rewrite. Jika Anda ingin mengaktifkan kedua fitur tersebut, pastikan pengaturannya tidak saling bertentangan.

  8. Klik OK untuk menerapkan aturan.

    Aturan penulisan ulang baru ditampilkan di tab Origin URL Rewrite. Anda dapat mengklik Modify atau Delete di kolom Actions dari aturan penulisan ulang untuk memodifikasi atau menghapus aturan penulisan ulang tersebut.

Contoh Konfigurasi

  • Contoh 1: Terapkan aturan yang flag-nya diatur ke None.

    Jalur yang Akan Ditulis Ulang

    ^/hello$

    Jalur Target

    /index.html

    Flag

    None

    Hasil yang Diharapkan

    Permintaan awal: http://example.com/hello

    Permintaan akhir: http://example.com/index.html

    Sistem terus mencocokkan permintaan dengan aturan penulisan ulang URL lain yang terdaftar di tab Origin URL Rewrite.

  • Contoh 2: Terapkan aturan yang flag-nya diatur ke Break.

    Jalur yang Akan Ditulis Ulang

    ^/hello.jpg$

    Jalur Target

    /image/hello.jpg

    Flag

    break

    Hasil yang Diharapkan

    Permintaan awal: http://example.com/hello.jpg

    Permintaan akhir: http://example.com/image/hello.jpg

    Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URL lain yang terdaftar di tab Origin URL Rewrite.

  • Contoh 3: Terapkan aturan yang flag-nya diatur ke enhance break.

    Jalur yang Akan Ditulis Ulang

    ^/hello.jpg?code=123$

    Jalur Target

    /image/hello.jpg?code=321

    Flag

    enhance break

    Hasil yang Diharapkan

    Permintaan awal: http://example.com/hello.jpg?code=123

    Permintaan akhir: http://example.com/image/hello.jpg?code=321

    Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URL lain yang terdaftar di tab Origin URL Rewrite.

  • Contoh 4: Tambahkan awalan URL ke direktori root jika nama file adalah variabel

    Tambahkan jalur /image ke URL semua file di direktori root. Contohnya, tulis ulang /xxx di URL menjadi /image/xxx. Dalam contoh ini, xxx adalah nama file, seperti hello.jpg atau hello.html.

    Jalur yang Akan Ditulis Ulang

    ^(.*)$

    Catatan

    ^ mencocokkan string dari awal string. (.*) adalah grup, di mana . mencocokkan karakter apa pun kecuali baris baru. * mencocokkan karakter atau grup sebelumnya nol kali atau lebih. Anda dapat menggunakan $1 di jalur target untuk merujuk isi variabel grup. $ mencocokkan string hingga akhir string. ^(.*)$ mencocokkan string dari awal hingga akhir string, yang dapat berisi karakter apa pun kecuali baris baru, lalu menangkap isi yang cocok ke dalam grup. Contohnya, untuk string "hello world", ^(.*)$ mencocokkan seluruh string dan menangkap "hello world" ke dalam grup pertama.

    Jalur Target

    /image$1

    Catatan

    /image mencocokkan string "/image". $1 merujuk pada isi grup pertama, $2 merujuk pada isi grup kedua, dan seterusnya. /image$1 mencocokkan string "/image" diikuti dengan isi grup pertama. Contohnya, jika isi grup pertama adalah "abc", /image$1 mencocokkan string "/imageabc". Perhatikan bahwa $1 merujuk pada isi grup, bukan literal "$1". Jika Anda ingin mencocokkan literal "$1", gunakan string yang di-escape "\$1".

    Flag

    break

    Hasil yang Diharapkan

    • Permintaan awal: http://example.com/hello.jpg

      Permintaan akhir: http://example.com/image/hello.jpg

    • Permintaan awal: http://example.com/hello.html

      Permintaan akhir: http://example.com/image/hello.html

    Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URL lain yang terdaftar di tab Origin URL Rewrite.

  • Contoh 5: Tambahkan awalan URL ke direktori tertentu jika nama file adalah variabel.

    Tambahkan jalur /image ke URL semua file di direktori /live. Contohnya, tulis ulang /live/xxx di URL menjadi /image/live/xxx. Dalam contoh ini, xxx adalah nama file, seperti hello.jpg atau hello.html.

    Jalur yang Akan Ditulis Ulang

    ^/live/(.*)$

    Jalur Target

    /image/live/$1

    Flag

    break

    Hasil yang Diharapkan

    • Permintaan awal: http://example.com/live/hello.jpg

      Permintaan akhir: http://example.com/image/live/hello.jpg

    • Permintaan awal: http://example.com/live/hello.html

      Permintaan akhir: http://example.com/image/live/hello.html

    Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URL lain yang terdaftar di tab Origin URL Rewrite.

  • Contoh 6: Terapkan hanya aturan yang flag-nya diatur ke None ketika beberapa aturan dikonfigurasi.

    Buat dua aturan penulisan ulang URL, seperti yang ditunjukkan pada gambar berikut.配置

    Hasil yang Diharapkan:

    • Permintaan awal: http://example.com/image_01.png

    • Permintaan akhir: http://example.com/image/image_02.png

      Catatan

      Permintaan cocok dengan aturan pertama dan URL asal ditulis ulang menjadi http://example.com/image_02.png. Kemudian, permintaan cocok dengan aturan kedua dan URL asal ditulis ulang menjadi http://example.com/image/image_02.png.

  • Contoh 7: Terapkan aturan yang flag-nya diatur ke Break ketika beberapa aturan dikonfigurasi.

    Buat dua aturan penulisan ulang URL, seperti yang ditunjukkan pada gambar berikut.配置

    Hasil yang Diharapkan:

    • Permintaan awal: http://example.com/image_01.png

    • Permintaan akhir: http://example.com/image_02.png

      Catatan

      Permintaan cocok dengan aturan pertama dan URL permintaan ditulis ulang menjadi http://example.com/image_02.png. Aturan lain dilewati.