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.

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

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 |
URL yang diakses oleh klien ditulis ulang, dan URL asal juga 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 | |
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 |
Menulis Ulang URL Akses
Klien memulai permintaan ke POP. URL permintaan adalah
old.example.com/hello.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/helloberdasarkan aturan penulisan ulang URL akses.Setelah klien menerima respons dan kode status HTTP 302, klien memulai permintaan ke URL baru.
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.Server asal menerima permintaan dan mengembalikan konten yang diminta ke POP.
POP menyimpan konten yang diminta dalam cache dan mengembalikan konten yang diminta ke klien.
Menulis Ulang URL Asal
Klien memulai permintaan ke POP. URL permintaan adalah
cdn.example.com/files/hello.txt.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.txtberdasarkan aturan penulisan ulang URL asal dan memulai permintaan ke server asal.Server asal menerima permintaan dan mengembalikan konten yang diminta ke POP.
POP menyimpan konten yang diminta dalam cache dan mengembalikan konten yang diminta ke klien.
Buat Aturan Penulisan Ulang URL Asal
Masuk ke Alibaba Cloud CDN console.
Di panel navigasi kiri, klik Domain Names.
Di halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.
Di pohon navigasi kiri nama domain, klik Origin Fetch.
Klik tab Origin URL Rewrite.
Klik Add.
Konfigurasikan parameter Path to Be Rewritten, Target Path, dan Flag. Tabel berikut menjelaskan parameter tersebut.

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.
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/helloPermintaan akhir:
http://example.com/index.htmlSistem 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.jpgPermintaan akhir:
http://example.com/image/hello.jpgSistem 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=123Permintaan akhir:
http://example.com/image/hello.jpg?code=321Sistem 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/imagemencocokkan string"/image".$1merujuk pada isi grup pertama,$2merujuk pada isi grup kedua, dan seterusnya./image$1mencocokkan string"/image"diikuti dengan isi grup pertama. Contohnya, jika isi grup pertama adalah"abc",/image$1mencocokkan string"/imageabc". Perhatikan bahwa$1merujuk 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.jpgPermintaan akhir:
http://example.com/image/hello.jpgPermintaan awal:
http://example.com/hello.htmlPermintaan 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.jpgPermintaan akhir:
http://example.com/image/live/hello.jpgPermintaan awal:
http://example.com/live/hello.htmlPermintaan 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.pngPermintaan akhir:
http://example.com/image/image_02.pngCatatanPermintaan 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 menjadihttp://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.pngPermintaan akhir:
http://example.com/image_02.pngCatatanPermintaan cocok dengan aturan pertama dan URL permintaan ditulis ulang menjadi
http://example.com/image_02.png. Aturan lain dilewati.